AutoCAD有4种API,.net,lisp,activex和ObjectARX(C++)。它们都是用来给cad写插件什么的,依赖cad运行。
另有一个RealDWG SDK,这是用来读写dwg或dxf文件的。可以完全脱离cad环境运行。
好比是dwg文件的解码编码器。如果闲的疼的话,完全可以配合一个opengl渲染环境来做成一些无聊的事。
另外,
还有一个ObjectDBX。
在ObjectARX的Dev Guide中,是这么说DBX的:
™ is the foundation for ObjectARX and for the RealDWG ® SDK.
ObjectDBX另外,下面这段貌似更能说明RealDWG、DBX和ARX的关系。
In order for a RealDWG Host Applications (e.g. Inventor) to be able to correctly display a custom object, it is necessary to create an 'object enabler' or 'ObjectDBX module' for that entity. An object enabler is created using the ObjectARX SDK, but makes use of the subset of ObjectARX functionality that does not depend on accessing AutoCAD editor functionality. (In general, this means deriving from and accessing AcDb classes, but not using selection set, editor reactor, document manager, plot manager, etc.). An object enabler DLL has a .dbx extension.
上段来自:http://adndevblog.typepad.com/autocad/2013/01/understanding-objectdbx-and-realdwg.html
-----再次从dev guide中摘抄的分割线,所以上段中第二行略可疑--------
™ ObjectDBX
These APIs do not include classes that interact with the AutoCAD editor or provide user interface functionality.
The database-related subset of ObjectARX, which includes support for custom objects and entities.® RealDWG
that use ObjectDBX to read and write DWG and DXF files without AutoCAD. See the autodesk.com Developer Center for more information about the RealDWG SDK.
A separately licensed SDK for developing host applicationsObject Enabler
An Object Enabler is not dependent on AutoCAD and can load in any RealDWG host application.
A module with the .dbx extension that defines custom DWG and DXF database objects and entites using only the ObjectDBX portion of the ObjectARX SDK.
---------对于复杂CAD Application,ARX提供的几个特性,含义存疑---------------
ObjectARX supports the development of complex applications, providing the following features:
- Notification
- Transaction management
- Deep cloning
- Reference editing
- Protocol extension
- Proxy object support