Level
Requirement
Applies to
ObjectARX, .NET and ObjectDBX modules
Register a logical application name in the AutoCAD section of the registry. Optionally, consider adding a unique prefix to your logical application name.
Example for ObjectARX applications:
HKEY_LOCAL_MACHINE SOFTWARE Autodesk AutoCAD R25.0 ACAD-8101:409 Applications AsdkPolyCAD WXYZBathroom ABCDAnotherApp
- can be applied to all localized AutoCAD, you can put the application under the global root (for example, ACAD-8101)
- is only applied to one product with certain language, you should register it under the local root (for example, ACAD-8101:409)
- has commands, the commands should have the structure as
xxxRes.dll:ID as illustrated in the following image:

Registry Editor
Example for Object Enablers (ObjectDBX modules):
HKEY_LOCAL_MACHINE SOFTWARE Autodesk ObjectDBX R25.0 Applications AsdkPolyCADObj WXYZBathroomObj ABCDAnotherAppObj
In the examples above, the application "AsdkPolyCAD" is from Autodesk, while the other two applications are from different vendors. ("WXYZBathroom" is the example application used in this document.) The case as you enter it is retained, but is ignored for lookups and duplication checks.
A logical application name should be bound to specific file paths in the registry. You may want to define more than one logical application name. One name might span all versions and locales, while others might distinguish between versions and locales as needed.
Using the logical application name as your registered service name is suggested.
For example:
acrxRegisterService(ACRX_T("WxyzBathroom"))
The application name is the last parameter in the ACRX_DXF_DEFINE_MEMBERS macro. It is a string that can have the following elements, separated by pipe characters (|):
- The logical name of the application that implements this class. This string is used to look up applications in the system registry. Optionally, include a unique prefix to help avoid naming conflicts.
- Product information, which should be readable by the user. There is no restriction on the structure of this, or subsequent elements, except that the pipe character (|) marks a line termination and the beginning of the next line of text.
When AutoCAD loads a drawing containing custom objects that cannot be mapped to an implementing application, it displays an alert box to notify the user.
For example, given the application name string
AsdkPolyOBJ2.0\ |Product Desc: PolyCAD ARX App For Polygon Entity\ |Company: Autodesk,Inc.\ |WEB Address: www.autodesk.com);
AutoCAD would display
Missing Application: AsdkPolyOBJ2.0 Product Desc: PolyCAD ARX App For Polygon Entity Company: Autodesk,Inc. WEB Address: www.autodesk.com
Other applications can also extract elements from the application name string. If there is no pipe character (|), the entire string is assumed to be the logical application name. For example, the application name string
AsdkPolyOBJ
would be displayed as
Missing Application: AsdkPolyOBJ
This message has less information about the product than the earlier one.
The application name string should include information such as a phone number or website address to allow users to contact you.
For example, for class WxyzVanity, you would supply the following application name:
ACRX_DXF_DEFINE_MEMBERS(WxyzVanity, AcDbEntity, AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent,0,WXYZVANITY, WxyzBathroom|ePlumber 2024|Millenium Bathrooms Inc. |email: plumber@autodesk.com)