您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页AUTOCAD二次开发技术

AUTOCAD二次开发技术

来源:小侦探旅游网


AutoCAD二次开发技术

AutoCAD作为一种通用计算机辅助设计软件,其二维图形设计功能非常强大,目前已广泛应用于机械、电子、电气、建筑、土木、服装等领域,深受国内外众多工程设计人员的喜爱,成为目前世界上应用最广的计算机辅助设计工具。尽管如此,人们在使用过程中还是发现其存在较多的不足之处,如对于一些特殊曲线的绘制往往较为困难,而对于一些标准件、常用件,虽然从结构上看它们较为相似,但却难以采用AutoCAD提供的复制、镜像、旋转等命令来实现,而必须一笔划一笔划的绘制,显得费时费力。AutoCAD是一种定位与全球各大领域和各类专业的通用微机CAD平台软件。到目前为止,Autodesk公司已经相继推出了四代二次开发工具.

AutoCAD的二次开发主要涉及以下内容:(1编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。(3在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。(4通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD2000或2002,最新版本是AutoCAD2004,其二次开

发语言及工具也在不断地涌现

语言本身不难,难点在对AutoCAD二次开发框架的掌握,其实AutoCAD文件可以当成一个数据库来理解,因此难点就是理解这个数据库的结构和编程方法。

假如使用VBA编程的,数据库的概念还不是很明显,也没上面说的那么难。不过VBA编程功能相对于.NET来说局限性还是很大的。LISP开发的话对数据库概念的理解跟VBA差不多。

功能最强大的是用.NET编写DLL和C++编写ARX文件,功能最强,最灵活,但也相对比为复杂,他们都需要理解掌握上面说的那个数据库的结构和编程方法。

我之前就做过VBA和.NET的编程,个人感觉多看看程序,多抄抄别人的程序来编译修改,也不难过理解数据库文件这一关,过了这关就好了。

1Auto LISP

Auto LISP最早出现在AutoCAD R2.17中,是一种嵌入在AutoCAD内部的二次开发语言,它的全名为表处理语言(LIST Processing Language,来源于人工智能语言LISP,是被解释执行的,任何一个语句键入后就能马上执行。由于使用方便,其一直是低版本AutoCAD的首选编程语言。Auto LISP严格遵循其语法和惯例,但又添加了许多AutoCAD的功能Auto

desk公司在AutoCAD2.1版引入Auto LISP作为应用程序编程接口(API,用于扩展和

自定义AutoCAD功能,借助Auto LISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。

Auto LISP具有以下优点:(1语言规则十分简单,易学易用;(2直接针对AutoCAD,易于交互;(3解释执行,立竿见影。Auto LISP的缺点是:(1功能单一,综合处理能力差;(2解释执行,程序运行速度慢;(3缺乏很好的保护机制,源程序保密性差;(4 LISP用表来描述一切,并不能很好地反映现实世界和过程,跟人的思维方式也不一致;(5不能直接访问硬件设备、进行二进制文件的读写。

2Visual LISP(VLISP

Visual LISP是Autodesk公司为Auto LISP提供的一个完整的开发环境,从R14版开始,AutoCAD支持Visual LISP开发工具。Visual LISP是一个可视化的LISP语言开发环境,它是Auto LISP语言的扩展和延伸。Visual LISP具有以下特性:(1在完全可视化的开发环境下编写、调试程序。(2Visual LISP程序经过编译后,提高了运行性能和保密性。

(3LISP代码通过AutoCAD R14的Object ARX接口,提高了程序的运行速度。(4Visual LISP 是一个被建立并装载的Object ARX应用程序,因而可以在AutoCAD外部装载和更新。

3ADS

ADS(AutoCAD Development System是AutoCAD的C语言开发系统,是继Auto LISP后的第二发工具,是从AutoCAD R14开始引入的C语言开发工具,ADS不是C

语言的一个子集,也不是基于C而编译的专用语言(如Microstation的MDL但它包括了C的全部功能。本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。与Auto LISP相比,ADS优越之处在于:(1具备错综复杂的大规模处理能力;(2编译成机器代码后执行速度快;(3编译时可以检查出程序设计语言的逻辑错误;(4程序源代码的可读性好于Auto LISP。而其不便之处在于:(1C语言比LISP语言难于掌握和熟练应用;(2ADS 程序的隐藏错误往往导致AutoCAD,乃至操作系统的崩溃;(3需要编译才能运行,不易见到代码的效果;(4同样功能,ADS程序源代码比Auto LISP代码长很多。

4VBA

Autodesk公司自它的AutoCAD R14.01版开始,内置了VBA开发工具,VBA(Visual Basic for Application是一种嵌入AutoCAD内部基于对象的集成编程环境。已经被集成到AutoCAD2000以后所有的版本中。VBA具有强大的开发能力。(1VBA可提供强大的窗体创建功能,为应用程序建立对话框及其他屏幕界面。(2可创建自己的工具条。(3可建立功能强大的模块级宏指令。(4提供建立类模块的功能。。(5具备完善的数据访问与管理能力。VBA的不足之处:(1VBA不能像Visual LISP那样可以随意使用AutoCAD命令,只能像脚本文件的模式,以字符串的方式向AutoCAD命令发送一串响应,这个字符串的内容也只要在自己的程序中生成和进行数据转换。(2由于VBA是以对象作为数据处理的基本单元的,因此像Trim Extend之类的命令都不能真正实施,要想完成这样的操作,相关数据只能在程序中自己计算。(3源程序始终以相当容易接近的方式,暴露在最终用户面前,由于拥护的误操作,很容易使正常的应用程序出错甚至崩溃。

5Object ARX

Object ARX最早出现于R13.0中,它以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ARX程序本质上为Windows动态链接库(DLL程序,这些库与AutoCAD 共享地址空间并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能够在运行期间扩展AutoCAD固有的类及其功能,创建能够全面享受AutoCAD固有命令特权的新命令。Object ARX应用程序以C++为基本开发语言,具有面向对象编程方式的数据可封装性、可继承性及多态性的特点,用其开发的CAD软件具有模块性好、性强、连接简单、使用方便、内部功能高效实现以及代码可重用性强等特点,并且支持MFC基本类库,能简洁高效地实现许多复杂功能。使用Object ARX的用户可以完成各种开发工作。

6Dot NET

Dot NET是基于Mircosoft.NET架构直接进行AutoCAD二次开发的一种新技术。目前能支持Dot NET开发方法的软件版本为AutoCAD2005到AutoCAD2008,但能完全支持Dot NET开发方法的软件为AutoCAD2006到AutoCAD2008。不管开发人员熟悉的语言是Visual

Basic.NET还是Visual C#.NET,使用Dot NET进行AutoCAD二次开发的基本方法和步骤基本上是一样的。在新推出的支持Dot NET开发的AutoCAD版本中,Autodesk

公司专门为其开发增加了.NETAPI。.NET API提供了一系列托管的外包类(Managed Wrapper Class,使开发人员可在.NET框架下,使用任何支持.NET的语言,如VB.NET、C和Managed C++等对AutoCAD进行二次开发。其优点是完全面向对象,在拥有与C++相匹配的强大功能的同时,具有方便易用的特点,是较理想的AutoCAD二次开发工具。

AutoCAD提供了丰富的二次开发功能,各开发工具之间既有区别又有联系,充分认识和掌握各开发工具的优缺点对构建属于自己的AutoCAD系统,提高工作效率,将大有帮助。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务