autocad二次开发工具的比较

上传人:小** 文档编号:93478110 上传时间:2019-07-22 格式:DOC 页数:6 大小:31KB
返回 下载 相关 举报
autocad二次开发工具的比较_第1页
第1页 / 共6页
autocad二次开发工具的比较_第2页
第2页 / 共6页
autocad二次开发工具的比较_第3页
第3页 / 共6页
autocad二次开发工具的比较_第4页
第4页 / 共6页
autocad二次开发工具的比较_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《autocad二次开发工具的比较》由会员分享,可在线阅读,更多相关《autocad二次开发工具的比较(6页珍藏版)》请在金锄头文库上搜索。

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

2、一种二次开发语言。它是一种嵌入在AutoCAD内部的CommonLisp程序设计语言子集,并扩充了极强的图形处理功能。此外还可为AutoCAD添加某些特殊的函数功能,如制作幻灯片、菜单等。 AutoLISP应用程序既可完成通常的科学计算和数学分析,又能直接调用几乎全部AutoCAD命令。这两者的有机结合,使它成为专业CAD开发者强有力的理想工具。而Lisp是目前研究和开发人工智能与专家系统CAD的主要编程语言。 AutoLISP有如下优点:(1)语言规则十分简单,易学易用。对计算机了解不太深入的工程专业人员,仅需经短期的学习,就可以熟练掌握这门语言。该语言的简洁性是其它许多计算机语言所无法相比

3、的。(2)直接针对AutoCAD,解释执行,易于交互。AutoLISP提供的大多数函数都是直接针对AutoCAD操作的,用AutoLISP可编写访问AutoCAD图形数据库(DWG)的操作。(3)解释执行立竿见影。程序员既可以一次运行一段AutoLISP代码,也可以在AutoCAD的”Command:”下逐条键入AutoLISP指令,立即得到结果。 随着计算机技术的发展,CAD编程逐渐复杂,代码越来越庞大,AutoLISP的缺点也越来越明显。如,综合处理能力差、程序运行速度慢、软件质量不易保证、开发环境集成度低和与人的思维方式不太一致等。由于AutoLISP的这些特点,它仅适合于有能力的终端用

4、户作些自己的开发任务,如今AutoLISP的使用已经逐渐被其它几种开发工具所取代。2. ADS 它是AutoCAD开发系统(AutoCAD Development)的简称。ADS的编程界面可使用户用C语言来实现AutoCAD的用户化,既可运行第三方开发的ADS应用程序,也可以编写自己的ADS应用程序。与AutoLISP相比,ADS程序的优越性如下:(1)具备错综复杂的综合大规模处理能力;(2)由于是编译开发环境,可以检查程序设计语言的逻辑错误,且执行速度快;(3)程序源代码的可读性好于LISP;(4)引入C+高级语言后,ADS也同样具有面向对象的功能,程序层次分明,清晰可读,从而使软件的可维护

5、性得到提高;(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 ARX ARX是AutoCAD R13之后推出的一个全新的、真正意

6、义上的面向对象的开发环境。它采用各种类库,功能更为强大,编程更为简洁。其开发语言为VC+。 ARX程序有如下特征:(1)能力强。ARX本质上是Windows动态连接库(DLL)程序,通过与AutoCAD共享地址空间,直接调用AutoCAD核心函数,可直接访问AutoCAD数据库的数据结构和代码。ARX程序与AutoCAD、Windows之间均采用消息传递机制直接通讯。它允许用户创建新的AutoCAD命令,这些命令可以像AutoCAD自身的命令一样被AutoLISP和ADS调用。可定义AutoCAD数据库对象,包括可见的实体和不可见的字典。ARX定义的实体往往可以用较少的数据,就可以实现较复杂的

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

8、破坏性。首先,ARX程序比ADS要复杂得多。ARX程序设计的错误,经常导致AutoCAD崩溃,甚至操作系统的崩溃。其次,ARX应用程序是一个动态连接库,调试时需要频繁启动AutoCAD,额外消耗的时间比Windows下的ADS多。尽管如此,从二次开发长远的角度来看,掌握和利用ARX技术是AutoCAD二次开发的很好选择。4. Visual LISPVisual LISP(VLISP)是为加速AutoCAD程序开发而设计的软件工具,是AutoLISP的换代产品,与AutoLISP完全兼容,并提供它的所有功能。VLISP的集成开发环境具备许多功能,使编写、修改代码以及测试和调试程序更加容易。另外,

9、VLISP还提供了用于发布由AutoLISP编写的独立应用程序的工具。 Visual LISP有一个交互式智能控制台,它还具有强大的文本编辑器和格式化器,使编程更加轻松高效。此特性使Visual LISP成为编写LISP程序更有效的工具。然而,Visual LISP只是AutoLISP功能的扩展,没有实质更为强大的功能。5. VBA 由于VBA(Visual Basic for Application)出现得较晚,使用时又必须内置于应用程序中,所以许多编程人员对它比较陌生。然而,VBA很好地继承了Basic和Visual Basic易学、易用的特点,而且具备了最新的开发技术和强大的开发功能,所

10、以日益受到应用软件开发者的青睐。 正是由于VBA对主应用程序的这种依附关系,使得它与主应用程序之间的通信变得简单而高效,即其代码完全是在进程内执行的。尽管VBA的代码目前在程序中仍以解释的方式执行,但它与AutoCAD完全共享内存空间,所以执行速度比用C语言开发的ADS应用程序还要快。同时由于它是VB的子集,其语言结构十分简洁。 VBA提供了高质量的用户化编程能力,能够使得AutoCAD数据与其它VBA应用程序直接共享。最重要的是VBA的加入,扩展了AutoCAD集成用户化工具的能力( 集成了AutoLISP、Visual LISP和ObjectARX API等工具),为访问AutoCAD软件的多种技术框架提供了新的选择和新的开放机会,可以按所需求的工作方式进行应用程序的用户化,也可以从战略上考虑开发基于AutoCAD的应用程序。 此外,VBA的对话框构件快速、高效,允许开发者快速地定制程序原型和得到设计信息的及时反馈;其工程可以单独存在,也可以嵌入在图形中,这给开发者在发行应用程序时以极大的灵活性;并且,强化了AutoCAD与数据库的通讯能力。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号