autocad二次开发的AutoCAD二次开发各编程接口的比较及选用
比较各种开发AutoCAD的编程接口,需要从以下几个方面进行考虑:
1. 速度:直接与AutoCAD通讯的API比利用IPC进行通讯的API在速度方面要快。编译型的API比解释型的API速度要快。因此,ObjectARX的速度最快,Com接口开发的外部程序速度最慢。
2. 稳定性:运行稳定性反映出因程序可能出现的严重错误所导致的危险。采用LISP开发的程序一旦失败或崩溃,并不危害AutoCAD自身进程;而由于ObjectARX应用程序共享AutoCAD的地址空间,所以其一旦运行失败,AutoCAD进程随之崩溃。
3. 性能:ObjectARX的应用程序能在运行期间实时扩展AutoCAD,共享AutoCAD地址空间,甚至为所欲为,因此性能无比强大,以至于AutoCAD自身的许多功能模块都是由ObjectARX进行制作。相反,解释型API如AutoLISP仅被限用于使用静态的AutoCAD命令集提供结构化函数库
4. 技术难度:AutoLISP和VBA均是解释型语言,方便易学,开发周期短。许多程序员或一些技术人员都在使用它们。相比之下ObjectARX依赖于C++语言,它必须经过严格控制的编译、链接才能生成应用程序。这就需要编程人员需要积累经验,这样才能去发现问题从而解决问题。
5. 保密性:编译型程序要比解释型保密性要好,保护了开发人员的著作权,解释型语言往往保密性能不高。导致用户误操作源码造成不应有的错误。
另外:虽然.NET开发出来的DLL文件是编译后的程序,但是由于其程序可以反编译回源码造成了代码的保密性差,也是不容忽视的问题。
相比之下,如果以前已熟悉使用LISP语言的朋友,则可选用VisualLISP。
如果用户只想利用开发一些简单的周期性短的应用程序,则可以依个人爱好和经验选择Visual Basic和VisualLISP。若用户有较好的C++基础和AutoLISP函数基础,同时又要开发速度和性能要求都很高的应用程序或大型CAD应用软件,则要使用ObjectARX。