当前位置首页 > 百科> 正文

CAD二次开发

2019-07-30 11:37:38 百科
CAD二次开发

CAD二次开发

本书介绍了根据客户的特殊用途进行软体的客户化定製和二次开发,往往能够大大提高企业的生产效率和技术水平。

AutoCAD ActiveX技术是目前AutoCAD二次开发中一种比较成熟、方便且实用的技术,在实际开发中得到了广泛的套用。本书由浅入深,逐层解析,一步步揭开AutoCAD ActiveX的神秘面纱,并结合大量的示例向读者介绍了AutoCAD ActiveX技术的使用方法。

基本介绍

  • 中文名:CAD二次开发
  • 外文名:Two development of CAD
  • 开发工具:VisualLisp、VBA、ObjectARX

套用背景

机械设计中一般都採用AutoCAD设计软体,在複杂 CAD问题或特殊用途的设计中,依据原有软体的功能往往难以解决问题,在此情况下,只是会使用软体的基本功能是不够的

开发工具

当前AutoCAD的二次开发工具主要有:VisualLisp、VBA、ObjectARX和.NET API等。其中,VisualLisp与VBA较为简单,特别是VBA,使用方便且开发速度较快,但其功能相比ObjectARX有所不足,尤其是对面向对象的功能支持不好。而ObjectARX基于VC平台,在C++的支持下,其功能非常强大,可以很好地运用各种面向对象技术,但其缺点是发开速度比较慢,同时对开发人员的能力要求较高。
.NET是微软新推出的开发平台,具有众多优点。
基于.NET平台对AutoCAD进行二次开发,可充分利用.NET 的各种优势,在保证功能强大的前提下大大提高开发速度。
1 AutoLISP
AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCAD R2.18中,是一种嵌入在AutoCAD内部的程式语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选程式语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于互动式的程式开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括弧。
2 ADS
ADS的全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程式的头档案和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程式编译成可执行的档案在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的执行档叫做ADS应用程式。ADS由于其速度快,又採用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。
3 ObjectARX
ObjectARX是一种崭新的开发AutoCAD应用程式的工具,她以C++为程式语言,採用先进的面向对象的编程原理,提供可与AutoCAD直接互动的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程式。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程式速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态程式库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD资料库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(Auto CAD资料库)和AcEd(Auto CAD编译器),另外还有其它的一些重要库组件,如AcRX(Auto CAD实时扩展)、AcGi(Auto CAD图形接口)、AcGe(Auto CAD几何库)、ADSRX(Auto CAD开发系统实时扩展)。ObjectARX 还可以按需要载入应用程式;使用ObjectARX进行套用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程式实现互动操作。
4 VisualLISP
VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是AutoCAD 2000中默认的代码编辑工具;用它开发AutoLISP程式的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程式的运行情况。在VisualLISP中新增了一些函式:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于Auto CAD内部事件的LISP程式的对象反应器;新增了能够对作业系统档案进行操作的函式。
5 VBA
VBA 即Microsoft office中的Visual Basic for Applications,它被集成到AutoCAD 2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定製AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程式,使之相互之间发生互易活动。
《深入浅出AutoCAD .NET二次开发》教程(含光碟)中介绍了这几种开发方式,并且介绍了常用开发方式的混合开发方法。

开发的主要内容

(1)编写各种用户自定义函式并形成若干LISP、ARX、VLX或ADS档案,以及一些DCL档案。
(2)建立符合自己要求的选单档案,一般可在AutoCAD原选单档案内添加自己的内容,对于 AutoCAD200x版本还可增加部分选单档案,然后经互动方式加入到系统中去。
(3)在系统的AutoCAD.LSP或类似档案中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些档案等。
(4)通过系统对话框设定某些路径。这些操作在程式开发成功后向其它AutoCAD系统上安装套用,特别是需要大批安装时,需要进行很多档案检索、内容增删、子目录创建、档案拷贝、系统设定等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程式在无人干预的情况下嵌入系统,将大大提高工作效率
(5)面向对象,让用户能够根据自己的需要编写相关程式,进行二次开发。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net