从理论上讲,除AutoLisp外,任何程序设计方法或模式要与ACAD连接,都应该通过ACAD提供的ActiveX接口。这个接口实际上就是将ACAD对象暴露(Expose)给其他外部程序。C++ Builder要与ACAD连接,必须通过ActiveX接口,使用ActiveX对象模型来访问和操作ACAD对象。ObjectARX提供了一系列LIB和H文件来访问ActiveX对象模型,要访问ACAD,你在程序中应该要包含部份ObjectARX类库和Head文件,但这样不知道是不是你说的“通过”ObjectARX。
C++ Builder我不熟悉,但一般来说,应该这样访问ACAD对象:
C++ Builder --> Windows API --> ACAD ActiveX接口 -->ACAD对象
我以前发过一个帖子,说明了用VC++获取ACAD应用程序(IAcadApplication)对象的方法,该对象是ActiveX对象模型的顶层对象,可以通过访问其成员函数或成员对象访问到全部ACAD对象。
以下是帖子地址:http://www.mjtd.com/bbs/dispbbs.asp?BoardID=16&RootID=14917&ID=14935&skin=1