While the entire ObjectARX API can be used in an AutoCAD application, only a subset of the API libraries is needed to define a custom database object or entity. Applications built with this subset, called ObjectDBX modules or Object Enablers, may be loaded into AutoCAD. Object Enablers are built to be distributed along with a DWG file containing instances of those custom objects. Any DWG editor or viewer can open the drawing and load the Object Enabler so that full functionality of the custom class is exposed.
Because Object Enablers don't depend on a particular host, they have no user interface capabilities. They are purely a plug-in for the ObjectDBX framework. ObjectARX applications, in contrast, require the presence of AutoCAD, and will not load into any other application. Therefore, all the user interface features of ObjectARX are available to an ObjectARX module.
When designing an application, keep this distinction in mind and break any custom object/entity into an Object Enabler so that the object can be transported to applications other than AutoCAD. Of course, custom objects can be created in an ObjectARX application, but a DWG containing any of these custom objects would give warnings about your missing application when it is opened in any host other than AutoCAD. See "Object Enablers" in the ObjectARX Developer’s Guide for more information.