首页 理论教育 AutoCAD二次开发指南

AutoCAD二次开发指南

时间:2023-06-24 理论教育 版权反馈
【摘要】:AutoCAD成为全球绘图软件中用户最多的软件,主要是因为它具有开放的体系结构。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD中丰富的技术框架打开一条新的通道。VBA和AutoCAD中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式架构。通过VBA,可以操作AutoCAD,控制ActiveX和其他一些应用程序,使之相互之间发生通信活动。

AutoCAD二次开发指南

AutoCAD成为全球绘图软件中用户最多的软件,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,二次开发能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由Autodesk公司推出,目前大家广泛使用的是AutoCAD 2002/2004,最新版本是AutoCAD 2008,其二次开发语言及工具也在不断地涌现,常用的二次开发语言如下。

1.AutoLISP

AutoLISP的全名是LISTProcessing Language,它出现于1985年推出的AutoCADR2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,它一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号

2.ADS

ADS的全名是AutoCADDevelopment System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件称为ADS应用程序。ADS由于速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如:二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。

3.ObjectARX(www.xing528.com)

ObjectARX是一种崭新的开发AutoCAD应用程序的工具,它以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ObjectARX并没有包含在AutoCAD中,可在Autodesk公司网站中去下载,其最新版本是ObjectARX2008,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,它包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(AutoCAD数据库)和AcEd(AutoCAD编译器),另外还有其他的一些重要库组件,如:AcRX(AutoCAD实时扩展)、AcGi(AutoCAD图形接口)、AcGe(AutoCAD几何库)、ADSRX(AutoCAD开发系统实时扩展)。ObjectARX还可以按需要加载应用程序,使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其他Windows应用程序实现交互操作。

4.VisualLISP

从AutoCAD 2000开始,VisualLISP已经被完整地集成到AutoCAD中,它为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AutoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其自身为AutoCAD 2000及后续版本的默认代码编辑工具,用它开发AutoLISP程序的时间被大大地缩短,并且能使用ActiveX对象及其事件,开发环境使用了流行的有色代码编辑器和完善的调试工具,很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数,例如:基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于AutoCAD内部事件的LISP程序的对象反应器;以及能够对操作系统文件进行操作的函数等。

5.VBA

VBA即Microsoft Office中的Visual Basic for Applications,它被集成到AutoCAD 2000及后续版本中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD中丰富的技术框架打开一条新的通道。VBA和AutoCAD中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式架构。通过VBA,可以操作AutoCAD,控制ActiveX和其他一些应用程序,使之相互之间发生通信活动。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈