...
API | .NET Classic API | CFx .NET (.NET ARES) | ||
---|---|---|---|---|
Assembly Names | TD_Mgd_x.xx_xx.dll FxCoreMgd_x.xx_xx.dll | ArgonMGD.dll TD_SwigCoreMgd.dll TD_SwigDbMgd.dll TG_SwigDbMgd.dll TD_Mgd_x.xx_xx.dll | ||
Nature of Plugin | In-process | In-process | ||
Loading Mechanism | Use the NETLOAD command | Use the NETLOAD command | ||
Migration to AutoCAD | Can Migrate to AutoCAD | Can’t Migrate to AutoCADCompatibility | AutoCAD compatible | ARES specific, not vailable in other CADs |
Access Document | Document document = Teigha.ApplicationServices.Application.DocumentManager.MdiActiveDocument; | CFxDocument pFxDocument = PCADGlobals.FXAPI().GetFxDocument(); | ||
Access Database | Database db = document.Database; | CFxDatabase pFxDatabase = pFxDocument.GetFxDatabase(); | ||
Prompting For User Input | PromptIntegerOptions op = new PromptIntegerOptions("Input a positive integer"); | CFxUserIO pFxUserIO = pFxDocument.GetFxUserIO(); pFxUserIO.GetInt | ||
Lisp Function Creation | Possible to create Lisp Functions. Using | Cannot create Lisp Functions. | ||
.NET Project Type | .NET Class Library | .NET Class Library | ||
Notifications | via Events | via Reactor classes | ||
Commands | Using command method Attribute | Directly inherit from CFxCommand and add instance of this class to command stack or Using command method Attribute | ||
UI Controls | Ribbon and Palettes API available | Not available |
Creating a CFx .NET or .NET
...
ARES Plugin:
Create a new .NET ARES project using the Visual Studio project creation Wizard( **minimum requirement .NET Framework v4.5)
From Solution Explore, add references of
ArgonMGD.dll
TD_SwigCoreMgd.dllTD_SwigDbMgd.dll
TG_SwigDbMgd.dll
TD_Mgd_x.xx_xx.dll from the ARES Commander installation folder.
You can see all available NameSpaces, Classes, Methods, and Properties in each assembly in the Object Browser.
Rename Class1.cs to PluginCommands.cs. This changes the class Class1 to class PluginCommands, as in the following example.
Defining a command uses Teigha.Runtime namespace to access CommandMethod method attribute and adds a method, such as AnyFunctionName that has this attribute. The following example defines the MySampleCommand command which you can run later in ARES Commander, from the command prompt.
You can define all types of in-process plugin using a similar procedure.Build the sample project to generate PluginCommands.dll or <YourProjectName.dll>.
Start ARES Commander and type NETLOAD at the command prompt. Next, browse and load the plugin dll (PluginCommands.dll).
The command window displays a confirmation message.
...