资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
AutoCAD二次开发工具的比较AutoCAD是美国Autodesk公司的产品,是当今世界最为流行的计算机 辅助设计软件之一,广泛应用于机械、建筑、电子、工程等许多领域。 它如此风靡的原因除了具有各种强大的绘图及编辑功能、友好的用户 界面、易于操作等特性之外,还在于它所具有的开放式结构(Open Architecture,即允许用户开发自己的命令、标准库文件和各种应用程 序)使得通过对AutoCAD进行二次开发来完成各类设计工作变得更加 容易.现在对AutoCAD二次开发工具的几种方法作一个介绍,对比各自 的优势及不足,给出各自的适用条件。l.AutoLISPAutoLISP是AutoCAD最早的一种二次开发语言。它是一种嵌入 在AutoCAD内部的CommonLisp程序设计语言子集,并扩充了极强的 图形处理功能.此外还可为AutoCAD添加某些特殊的函数功能,如制作 幻灯片、菜单等。AutoLISP应用程序既可完成通常的科学计算和数学分析,又能直 接调用几乎全部AutoCAD命令。这两者的有机结合,使它成为专业 CAD开发者强有力的理想工具。而Lisp是目前研究和开发人工智能与 专家系统CAD的主要编程语言.AutoLISP有如下优点:(1)语言规则十分简单,易学易用。对计 算机了解不太深入的工程专业人员,仅需经短期的学习,就可以熟练 掌握这门语言。该语言的简洁性是其它许多计算机语言所无法相比 的。(2)直接针对AutoCAD,解释执行,易于交互。AutoLISP提供 的大多数函数都是直接针对AutoCAD操作的,用AutoLISP可编写访 问AutoCAD图形数据库(DWG)的操作。(3)解释执行立竿见影。 程序员既可以一次运 行一段AutoLISP代码,也 可以在AutoCAD 的Command:”下逐条键入AutoLISP指令,立即得到结果。随着计算机技术的发展,CAD编程逐渐复杂,代码越来越庞 大,AutoLISP的缺点也越来越明显。如,综合处理能力差、程序运行 速度慢、软件质量不易保证、开发环境集成度低和与人的思维方式不 太一致等。由于AutoLISP的这些特点,它仅适合于有能力的终端用户 作些自己的开发任务,如今AutoLISP的使用已经逐渐被其它几种开发 工具所取代.2.ADS它是AutoCAD开发系统(AutoCAD Development)的简称。ADS 的编程界面可使用户用C语言来实现AutoCAD的用户化,既可运行第 三方开发的ADS应用程序,也可以编写自己的ADS应用程序。与AutoLISP相比,ADS程序的优越性如下:(1)具备错综复杂的综 合大规模处理能力;(2)由于是编译开发环境,可以检查程序设计语 言的逻辑错误,且执行速度快;(3)程序源代码的可读性好于LISP; (4) 引入。+高级语言后,ADS也同样具有面向对象的功能,程序层次分 明,清晰可读,从而使软件的可维护性得到提高;(5)经过良好封装, ADS C+的程序代码比ADS C程序简洁得多,许多时候比AutoLISP 更简洁;(6)ADS C+的程序能够减少程序出错的概率.由于C语言的介入,ADS也有一些不便之处。如C语言比LISP语言复 杂得多,难以在短时间内掌握;ADS程序的隐藏错误会导致AutoCAD 乃至操作系统崩溃;由于是编译运行,不易见到代码的效果;C语言 的ADS程序一般比AutoLISP程序的源代码要繁冗。由此可见,ADS 开发者必须先对C/C+和AutoLISP语言编程技术及AutoCAD功能有 较深入的了解.3.Object ARXARX是AutoCAD R13之后推出的一个全新的、真正意义上的面向 对象的开发环境。它采用各种类库,功能更为强大,编程更为简洁.其开 发语言为VC+。ARX程序有如下特征:(1)能力强。ARX本质上是Windows动态 连接库(DLL)程序,通过与AutoCAD共享地址空间,直接调用 AutoCAD核心函数,可直接访问AutoCAD数据库的数据结构和代码。 ARX程序与AutoCAD、Windows之间均采用消息传递机制直接通讯。 它允许用户创建新的AutoCAD命令,这些命令可以像AutoCAD自身 的命令一样被AutoLISP和ADS调用。可定义AutoCAD数据库对象,包 括可见的实体和不可见的字典.ARX定义的实体往往可以用较少的数 据,就可以实现较复杂的显示,有利于减少磁盘文件的尺寸。(2)速 度快.由于ARX应用程序本身是AutoCA D的一部分,即ACAD.EXE调 用的动态连接库(DLL),它拥有同AutoCXAD一样的内存地址空间, 直接访问AutoCAD的各种内存对象,而AutoLISP和ADS都是通过函数 间接地访问AutoCAD的。这样在访问AutoCAD数据库的操作上,ARX 应用程序比AutoLISP和ADS的速度要快得多。(3)面向对象编程。ADS提供了6个主要类库(运行扩展库、命令扩展库、数据库访问库、 通用几何库、图形界面库、边界描述库),以对AutoCAD及常见的事 物进行访问和控制.然而,ARX程序比ADS程序具备更大的危险性和破坏性.首先, ARX程序比ADS要复杂得多。ARX程序设计的错误,经常导致 AutoCAD崩溃,甚至操作系统的崩溃。其次,ARX应用程序是一个动 态连接库,调试时需要频繁启动AutoCAD,额外消耗的时间比WindowsT的ADS多。尽管如此,从二次开发长远的角度来看,掌握 和利用ARX技术是AutoCAD二次开发的很好选择。4. Visual LISPVisual LISP(VLISP)是为加速AutoCAD程序开发而设计的软件工具, 是AutoLISP的换代产品,与AutoLISP完全兼容,并提供它的所有功能。 VLISP的集成开发环境具备许多功能,使编写、修改代码以及测试和 调试程序更加容易.另外,VLISP还提供了用于发布由AutoLISP编写的 独立应用程序的工具。Visual LISPW一个交互式智能控制台,它还具有强大的文本编辑 器和格式化器,使编程更加轻松高效。此特性使Visual LISP成为编写 LISP程序更有效的工具。然而,Visual LISP只是AutoLISP功能的扩展, 没有实质更为强大的功能.5. VBA由于VBA (Visual Basic for Application)出现得较晚,使用时又 必须内置于应用程序中,所以许多编程人员对它比较陌生。然而, VBA很好地继承了Basic和Visual Basic易学、易用的特点,而且具备 了最新的开发技术和强大的开发功能,所以日益受到应用软件开发者 的青睐。正是由于VBA对主应用程序的这种依附关系,使得它与主应用程 序之间的通信变得简单而高效,即其代码完全是在进程内执行的.尽 管VBA的代码目前在程序中仍以解释的方式执行,但它与AutoCAD 完全共享内存空间,所以执行速度比用C语言开发的ADS应用程序还 要快。同时由于它是VB的子集,其语言结构十分简洁。VBA提供了高质量的用户化编程能力,能够使得AutoCAD数据 与其它VBA应用程序直接共享.最重要的是VBA的加入,扩展了 AutoCAD集成用户化工具的能力(集成了AutoLISP、Visual LISP和 ObjectARX人?1等工具),为访问AutoCAD软件的多种技术框架提供 了新的选择和新的开放机会,可以按所需求的工作方式进行应用程序 的用户化,也可以从战略上考虑开发基于AutoCAD的应用程序.此外,VBA的对话框构件快速、高效,允许开发者快速地定制程 序原型和得到设计信息的及时反馈;其工程可以单独存在,也可以嵌 入在图形中,这给开发者在发行应用程序时以极大的灵活性;并且, 强化了 AutoCAD与数据库的通讯能力。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号