public class AnnAutomationObject
To automate an annotation object, create an instance of this class, specifying any properties. Then add it to the AnnAutomationManager.Objects collection. At any time, you can enumerate the AnnAutomationManager.Objects collection and add/remove/modify any of its properties.
The AnnAutomationManager.CreateDefaultObjects method creates the default AnnAutomationObject objects for the default annotation objects.
LEADTOOLS will create the automation properties for the default annotation objects. You can change any property behavior by overriding members of this class or deriving your own.
using Leadtools.Annotations.Automation;
using Leadtools.Annotations.Engine;
using Leadtools.Codecs;
using Leadtools.Controls;
using Leadtools.Annotations.WinForms;
using Leadtools.Annotations.Rendering;
using Leadtools.Annotations.Designers;
public void AnnAutomationManager_FindObjectById()
{
// find the line automation object
AnnAutomationObject obj = _automation.Manager.FindObjectById(AnnObject.LineObjectId);
if (obj != null)
{
obj.ObjectTemplate.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(2));
}
// Check if it is active
AnnAutomations annAutomations = _automation.Manager.Automations;
foreach(AnnAutomation annAutomation in annAutomations)
Console.WriteLine($"Is AnnAutomation Active?: {annAutomation.Active}");
// Restarting _automation without objects
StartupNoObjects();
// There should be no Automation Objects
Console.WriteLine($"Number of Annotation Objects Available: {_automation.Manager.Objects.Count}");
// Create Default Automation Objects
_automation.Manager.CreateDefaultObjects();
Console.WriteLine($"Number of Created Annotation Objects: {_automation.Manager.Objects.Count}");
foreach (AnnAutomationObject defaultObject in _automation.Manager.Objects)
{
defaultObject.RunDesignerType = typeof(AnnRunDesigner);
Console.WriteLine($"ID: {defaultObject.Id} | {defaultObject.Name} | Draw Designer Type: {defaultObject.DrawDesignerType.Name} | Edit Designer Type: {defaultObject.EditDesignerType.Name} | Run Designer Type: {defaultObject.RunDesignerType.Name}");
}
}
public void StartupNoObjects()
{
_viewer = new AutomationImageViewer();
_viewer.Image = RasterImage.CreateGrayscale(500, 500, 8, 100);
_manager = new AnnAutomationManager();
_automation = new AnnAutomation(_manager, _viewer);
_automation.Active = true;
_automation.Container.Size = new LeadSizeD(500, 500);
_automation.AutomationControl.RenderingEngine = new AnnWinFormsRenderingEngine();
}