|
AutoCAD具有开放的体系结构,是一种极其灵活的应用系统,用户可以通过编程的方式对其进行定制,它允许用户和开发者采用各种方法对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。我们先对以往AutoCAD二次开发中用到的方法简单做一回顾,然后以Visual Basic6.0为编程工具,详细讨论应用ActiveX对AutoCAD进行二次开发的方法。5 K* o3 Z; _8 L# U! P
(一)AutoCAD二次开发中用到的方法. M/ _( B$ Q! O9 _- N
1 AutoLISP/ R) j5 |4 Q4 f' l
AutoLISP(LIST Processing Language),它是一种表处理语言,是被解释执行的。它被嵌入在AutoCAD内部,作为二次开发的编程语言,她一直是低版本AutoCAD的首选编程语言。. v# V& O1 h/ ~7 q: a
2 autocad 的script文件
. V: P4 w- O* A script 文件是成批集成Autocad命令的文本文件,可以在Autocad中运行,早期国内CAD二次开发中应用较为普遍,这种方法比较容易实现,通过在外部程序中按照要求将绘图参数融合进script文件,然后利用autocad定制菜单实现绘图。
) j7 m6 f4 y" h! Y1 L3 ADS
' R/ r. d0 O2 Y6 q+ U$ aADS(AutoCAD Development System)是AutoCAD的C语言开发系统,它直接利用C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可执行的文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合二次开发机械设计CAD、土木工程CAD等。+ |, w0 Q/ @7 r( Z
4 ObjectARX- |3 C# i: g* @4 l
ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C 为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,它能够对AutoCAD进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX是一种特定的C 编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。- z$ A' t% y% v" M" w, V6 I
5 VisualLISP3 @, |6 t4 [/ B; w+ D
VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。用它开发程序的时间被缩短,原始代码能被保密;能帮助大家使用ActiveX对象及其事件;使大家很容易创建和分析LISP程序的运行情况。; G7 [- L' e2 [% z" U ^, w3 y
6 VBA, N5 A! ^" \3 Z: C
VBA (即Mcrosoft office中的Visual Basic for Applications),被集成到AutoCAD 2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。 |