It is called SimpleLine and it was posted to our file sharing web site as mentioned before. I have posted a simple application made by ARXWizard and Visual Studio.NET 2002 (7.0) and ObjectARX 2004. Once your application is loaded, just fire your commands and enjoy! It comes also with a Startup Suite briefcase that allows you to automatically load a list of applications when AutoCAD starts. It opens a very handy dialog that allows you to browse for the application and load it. My preferable method to load / unload ObjectARX applications is through the APPLOAD command. Supposing you already compiled your application successfully it is time to load it inside AutoCAD and test your commands. When you recieve the kUnloadAppMsg message is time to remove your commands. This can be easily done unregistering all commands by the Group Name. Once you register your commands you need obviously to unregister when leaving AutoCAD or when your application is unloaded. This function will be fired by AutoCAD when the command is invoked. Void function pointer: Here you pass the name of the void function you would like to link with the command. It is very important that you preceed your commands with a 3 or 4 letters prefix to avoid command colision with other third-party applications. When the user inside AutoCAD call your command, AutoCAD seek its command stack, find your command and fire your function. This function must be a void function without any parameters. Basically the registered command will fire the function you specified. Registered commands must have a Group Name, a Global Name, a Local Name, some flags, a void function pointer and, optionally, some other parameters. Once this message is received, you can call the appropriate methods to register each desired command. You can register your commands from the acråntryPoint() function when receiving the kInitAppMsg message that represents the event fired by AutoCAD when it loads your application (this can be done by several ways that we will discuss later). Probably your application will implement several commands. The most relevant point here is to remember that this function is very important and is where your application will begin to execute. This function must return a value to AutoCAD using AppRetCode which can be kRetOK (common value) or even kRetError which will force AutoCAD to unload your application. The second parameter ( pkt) is a data package that can be useful in some situations that I would avoid to discuss now (remember, our course is for Dummies). These messages are very important to your application and to allow you to react to each desired event to monitor. You may receive a "new drawing" message, a "init application" message among many others. The first parameter ( msg) is the message sent from AutoCAD to your application telling you what is happening. This function is automatically implemented by the Wizard as you will see later.
![object enabler for autocad 2005 object enabler for autocad 2005](https://i2.wp.com/www.pickaweb.co.uk/kb/wp-content/uploads/2015/09/Tweak-Settings-1.png)
The Proxy entities stores the binary data of your custom object and keep that until your application come back. This will happen even if the DBX module is not available.
![object enabler for autocad 2005 object enabler for autocad 2005](https://online.fliphtml5.com/rjmt/bgry/files/large/1.jpg)
When the drawing is saved AutoCAD preserve the custom entity information using the called Proxy entities. This way the user will be able to see your custom entities and perform some limited operations.
![object enabler for autocad 2005 object enabler for autocad 2005](https://www.plusplushosting.net/tutorials/onwhmcs/readykb/img/whm-root-tweak-display-changetheme.gif)
If you would like to allow these users to see your custom entities but don't perform any commands over them you just need to ship de DBX part of your application. The drawings created with this application will contain these custom objects and if another users try to open this drawing inside AutoCAD and without your applications they will see only Proxy entities. Suppose you need to create an application with a bunch of custom entities and objects.
#Object enabler for autocad 2005 download#
This is not a mandatory but it is a good programming practice and Autodesk made this separation to provide great things like, for instance, open an ADT drawing inside AutoCAD, download the proper enabler and then show those ADT entities correctly inside AutoCAD. The main idea is to separate Interface and Object Classes to allow the called " Object Enablers". Before we can proceed I would like to clarify the main differences between ObjectARX and ObjectDBX applications.