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 objectAnnAutomationObject obj = _automation.Manager.FindObjectById(AnnObject.LineObjectId);if (obj != null){obj.ObjectTemplate.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(2));}// Check if it is activeAnnAutomations annAutomations = _automation.Manager.Automations;foreach(AnnAutomation annAutomation in annAutomations)Console.WriteLine($"Is AnnAutomation Active?: {annAutomation.Active}");// Restarting _automation without objectsStartupNoObjects();// There should be no Automation ObjectsConsole.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();}