AutoCAD二次开发工具的比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AutoCAD二次开发工具的比较

AUtoCAD是美国AUtOdeSk公司的产品,是当今世界最为流行的计算机辅助设计软件之一,广泛应用于机械、建筑、电子、工程等许多领域。它如此风靡的原因除了具有各种强大的绘图及编辑功能、友好的用户界面、易于操作等特性之外,还在于它所具有的开放式结构(OPen Architecture,即允许用户开发自己的命令、标准库文件和各种应用程序)使得通过对AUtOCAD进行二次开发来完成各类设计工作变得更加容易。

现在对AUtOCAD二次开发工具的几种方法作一个介绍,对比各自

的优势及不足,给出各自的适用条件。

1.AutoLISP

AUtOLISP是AUtOCAD最早的一种二次开发语言。它是一种嵌入在AUtOCAD内部的CommonLisp程序设计语言子集,并扩充了极强的图形处理功能。此外还可为AUtOCAD添加某些特殊的函数功能,如制作幻灯片、菜单等。

AUtOLISP应用程序既可完成通常的科学计算和数学分析,又能直接调用几乎全部AUtOCAD命令。这两者的有机结合,使它成为专业CAD开发者强有力的理想工具。而LiSP是目前研究和开发人工智能与专家系统CAD的主要编程语言。

AUtOLISP有如下优点:(1)语言规则十分简单,易学易用。对计算机了解不太深入的工程专业人员,仅需经短期的学习,就可以熟练掌

握这门语言。该语言的简洁性是其它许多计算机语言所无法相比的。(2)直接针对AutoCAD ,解释执行,易于交互。AutoLlSP提供的大多数函数都是直接针对AUtOCAD操作的,用AUtOLISP可编写访问AUtOCAD图形数据库(DWG)的操作。(3)解释执行立竿见影。程序员既可以一次运行一段AUtOLISP代码,也可以在AUtOCAD 的” Comma nd”下逐条键入AUtOLISP指令,立即得至U结果。

随着计算机技术的发展,CAD编程逐渐复杂,代码越来越庞大,AUtOLISP的缺点也越来越明显。女口,综合处理能力差、程序运行速度慢、软件质量不易保证、开发环境集成度低和与人的思维方式不太一致等。由于AUtOLISP的这些特点,它仅适合于有能力的终端用户作些自己的开发任务,如今AUtOLISP的使用已经逐渐被其它几种开发工具所取代。

2.ADS

它是AUtOCAD 开发系统(AUtOCAD DeVelOPment)的简称。ADS 的编程界面可使用户用C语言来实现AUtOCAD的用户化,既可运行第三方开发的ADS应用程序,也可以编写自己的ADS应用程序。

与AUtOLISP相比,ADS程序的优越性如下:(1)具备错综复杂的综合大规模处理能力;(2)由于是编译开发环境,可以检查程序设计语言的逻辑错误,且执行速度快;(3)程序源代码的可读性好于LISP; (4)引入C++高级语言后,ADS也同样具有面向对象的功能,程序层次分明,清晰可读,从而使软件的可维护性得到提高;(5)经过良

好封装,ADS C++的程序代码比ADS C程序简洁得多,许多时候比AUtOLISP更简洁;(6)ADS C++的程序能够减少程序出错的概率。由于C语言的介入,ADS也有一些不便之处。如C语言比LlSP语言复杂得多,难以在短时间内掌握;ADS程序的隐藏错误会导致AUtOCAD 乃至操作系统崩溃;由于是编译运行,不易见到代码的效果;C语言的ADS程序一般比AUtOLISP程序的源代码要繁冗。由此可见,ADS 开发者必须先对C/C++和AUtOLISP语言编程技术及AUtOCAD功能有较深入的了解。

3.0bject ARX

ARX 是AUtOCAD R13之后推出的一个全新的、真正意义上的面向对象的开发环境。它采用各种类库,功能更为强大,编程更为简洁。其开发语言为VC++。

ARX程序有如下特征:(1)能力强。ARX本质上是Windows动态连接库(DLL )程序,通过与AUtOCAD共享地址空间,直接调用AUtOCAD核心函数,可直接访问AUtOCAD数据库的数据结构和代码。ARX程序与AUtOCAD、Windows之间均采用消息传递机制直接通讯。它允许用户创建新的AUtOCAD命令,这些命令可以像AUtOCAD自身的命令一样被AUtOLISP和ADS调用。可定义AUtOCAD数据库对象,包括可见的实体和不可见的字典。ARX定义的实体往往可以用较少的数据,就可以实现较复杂的显示,有利于减少磁盘文件的尺寸。

(2

速度快。由于ARX应用程序本身是AUtOCAD的一部分,即ACAD.EXE 调用的动态连接库(DLL),它拥有同AUtOCXAD 一样的内存地址空间,直接访问AUtOCAD的各种内存对象,而AUtOLISP和ADS都是通过函数间接地访问AUtOCAD的。这样在访问AUtOCAD数据库的操作上,ARX应用程序比AutoLISP和ADS的速度要快得多。(3)面向对象编程。ADS提供了6个主要类库(运行扩展库、命令扩展库、数据库访问库、通用几何库、图形界面库、边界描述库),以对AUtOCAD 及常见的事物进行访问和控制。

然而,ARX程序比ADS程序具备更大的危险性和破坏性。首先,ARX程序比ADS要复杂得多。ARX程序设计的错误,经常导致AUtOCAD崩溃,甚至操作系统的崩溃。其次,ARX应用程序是一个

动态连接库,调试时需要频繁启动AUtOCAD ,额外消耗的时间比Win dows下的ADS多。尽管如此,从二次开发长远的角度来看,掌握和利用ARX技术是AUtOCAD二次开发的很好选择。

4. Visual LISP

ViSUaI LISP (VLISP)是为加速AUtOCAD程序开发而设计的软件工具,是AUtOLISP的换代产品,与AUtOLISP完全兼容,并提供它的所有功能。

VLISP的集成开发环境具备许多功能,使编写、修改代码以及测试和调试程序更加容易。另外,VLISP还提供了用于发布由AUtOLISP编写的

相关文档
最新文档