AutoCAD二次开发工具的比较
- 格式:doc
- 大小:19.50 KB
- 文档页数:5
关于Autocad二次开发的研究,基于Activex科技在有轨运输铁路线上的应用摘要:本文介绍了在Autocad二次开发的中所使用的工具。
在对ActiveX自动科技和Visual Basic进行比较之后,展示了为什么两者被选为开发方法,并给出了源代码。
这些源代码与数据库、Visual Basic和AutoCad之间的通信、关于AutoCAD的主体特点的提取以及释义有关。
这些应用程序很好地用户界面并且具有功能像项目管理、定制以及数据库的操作等等。
项目管理采用了不同的数据结构,这些数据结构主要是建立在不同的线路设计的不同阶段之上的,例如如可行性研究和有线运输的设计研究。
用户化反映了AutoCAD绘图的不同要求。
数据库的操作正在改变、添加、删除、再生、分类以及数据表的统计和记录。
这种软件实现了AutoCAD操作和Access数据库之间的无缝连接。
这给AutoCAD的主体特点带来的改变将会实时地影响数据库的记录。
与之相反,如果数据库已经发生变化,那么对于手工劳动而进行的AutoCAD的有轨运输来说,绘制线条就毫无必要。
这一软件能够自动地根据跟新的数据进行提取,它也展示了一些前期工作,这些前期工作是协调紧接着要进行的工作的前提。
经过北京城市铁路的应用,证明了本研究的可行性。
它减少了由人工干预而产生的错误,节省了设计的时间、促进了以后的行业并且加速了整个交通运输项目的进程。
如果本研究在其他相似行业能得到应用,将会有更广泛的应用前景。
研究背景:随着城市的飞速发展,必须得解决城市的交通问题。
中国是一个发展中国家,人口众多。
随着私家车数量的愈发增多,由机动车所引起的污染问题也变得越来越糟糕。
城市轨道交通因为速度快,污染和噪音少等特点,发展成为一种解决污染问题有效方法。
在过去的几十年里,中国已经有超过三十城市计划发展城市轨道交通。
北京、上海、天津、广州、香港拥有超过193.3千米长的城市轨道交通。
城市轨道交通的前景大好。
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文件可以当成一个数据库来理解,因此难点就是理解这个数据库的结构和编程方法。
AutoCAD二次开发工具综述AutoCAD是目前微机上应用最为广泛的通用交互式计算机辅助绘图与设计软件包。
AutoCAD的强大生命力在于它的通用性、多种工业标准和开放的体系结构。
其通用性使得它在机械、电子、航空、船舶、建筑、服装等领域得到了极为广泛的应用。
但是,不同的行业标准使得各领域在使用AutoCAD的过程中均需根据自身特点进行定制或开发。
Autodesk公司为满足广大用户的需求,自AutoCAD v2.18版至AutoCAD2000的短短十几年间,就相继推出了三代二次开发工具,如图1所示。
可以说,AutoCAD的通用性为其二次开发提供了必要条件,而AutoCAD开放的体系结构则使其二次开发成为可能。
图1AutoCAD二次开发工具的演变下面对AutoCAD的三代开发工具进行浅析。
一、第一代开发工具——AutoLISPAutoLISP是1986年随AutoCAD v2.18提供的二次开发工具。
它是一种人工智能语言,是嵌入AutoCAD内部的COMMON LISP的一个子集。
在AutoCAD的二次开发工具中,它是唯一的一种解释型语言。
使用AutoLISP可直接调用几乎所有的AutoCAD命令。
AutoLISP语言最典型的应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。
另一个典型应用就是驱动AutoCAD 提供PDB模块构成DCL(Dialog Control Language)文件,创建自己的对话框。
AutoLISP具有以下优点:(1)语言规则十分简单,易学易用;(2)直接针对AutoCAD,易于交互;(3)解释执行,立竿见影。
AutoLISP的缺点是:(1)功能单一,综合处理能力差;(2)解释执行,程序运行速度慢;(3)缺乏很好的保护机制,源程序保密性差;(4)LISP用表来描述一切,并不能很好地反映现实世界和过程,跟人的思维方式也不一致;(5)不能直接访问硬件设备、进行二进制文件的读写。
AutoCAD二次开发技术明经通道/index.html一、AutoCAD VBA简介•VBA(Visual Basic for Application)VBA是AutoCAD的一种开发工具,具有强大的功能。
Microsoft VBA是一种面向对象的编程环境,它与VB一样具有很强的开发功能。
VBA与VB之间的区别就是VBA AutoCAD在同一处理空间运行,为AutoCAD提供智能和快速的编程环境。
AutoCAD VBA开发的程序VBA功能:•创建对话框和其它界面;•创建工具栏;•建立模块级宏指令;•提供建立类模块的功能;•具有完善的数据访问和管理能力;(ADO、DAO、RDO,C/S)•能够使用Win32API提供的功能,建立应用程序与操作系统之间的通信;在AutoCAD中使用VBA的好处•Visual Basic编程环境易学易用;•VBA作为AutoCAD的一个过程运行,这使程序执行速度变得非常快;•对话框结构快速有效,允许开发者在设计时启动应用程序并能得到快速反馈;(易于代码纠错和维护)•对象可以独立出来,也可以嵌入AutoCAD 图形。
灵活性很强。
1.在工具菜单中选择宏-VBA 管理器。
2.或者,在AutoCAD 中调用VBAMAN 命令。
你可以使用VBA 管理器查看装载在当前AutoCAD 进程的所有VBA 工程。
VBA 管理器一个AutoCAD 工具,它允许你装载、卸载、保存、创建、嵌入和分离VBA 工程。
VBA 管理器VBA管理器二、理解类和对象在AutoCAD VBA界面中有许多不同类型的对象。
例如:图形对象,如线、弧、文本和标注都是对象;样式设置,如线型和标注样式均为对象;组织结构,如图层、组合和图块也是对象;图形显示,如视图和视口都是对象;甚至图形和AutoCAD应用程序本身也是对象。
对象是通过分层方式来组织的,应用程序对象为根对象。
这种分层结构的视图被归结为对象模型。
对象模型提供了你访问下一层对象的途径。
autocad的应用现状及其二次开发技术AutoCAD是一种计算机辅助设计(CAD)系统,早期的AutoCAD仅用于绘制图形,然而,随着复杂的现代建筑结构的不断涌现,AutoCAD已经被用于2D建模、3D建模及布局等多方面,并被用于自动化设计工作流程。
如今,AutoCAD作为行业领先的计算机辅助设计软件,已经广泛应用于建筑设计、汽车制造、电子产品结构设计以及水利等行业中。
AutoCAD的核心功能包括精确的绘图处理、数字化图层管理、三维空间建模、图形标注及仿真功能以及动态数据录入和共享。
这些功能的应用十分丰富,可帮助用户更有效地进行数字设计,提高设计效率。
AutoCAD还有一个强大的可扩展性,其可定制的图形选择、编辑和属性支持,使其能够根据用户的实际要求进行定制,以满足不同领域的独特需求。
同时,AutoCAD还提供了一套完整的二次开发技术,用于建立和应用与AutoCAD相关的功能和自动化程序。
二次开发技术通过构建强大的自定义应用程序来为AutoCAD提供独特的功能,从而满足不同行业特定领域的要求。
例如,通过二次开发技术可以构建用于产品设计的3D建模软件;为建筑设计服务的建筑设计模块;以及用于机械设计的设计环境等。
此外,AutoCAD的二次开发技术也能够用于创建非常有效的组件库,这些库里面包含相当多的图形元素,能够有效地加快设计过程,减少设计时间,提高设计效率。
而且,AutoCAD的二次开发技术还可以用于创建更加强大的图形搜索引擎,允许用户以联机的方式快速找到所需的图形元素,大大降低使用AutoCAD所面临的挑战。
随着AutoCAD软件被越来越多地应用于各行各业,AutoCAD及其二次开发技术也正在发挥重要作用,加强了AutoCAD软件的功能,大大改善了设计效率。
未来,AutoCAD将会变得越来越强大,成为一种功能强大而又可定制的计算机辅助设计软件,满足各业不同的实际需求。
AutoCAD二次开发工具的比较AutoCAD是美国Autodesk公司的产品,是当今世界最为流行的计算机辅助设计软件之一,广泛应用于机械、建筑、电子、工程等许多领域。
它如此风靡的原因除了具有各种强大的绘图及编辑功能、友好的用户界面、易于操作等特性之外,还在于它所具有的开放式结构(Open Architecture,即允许用户开发自己的命令、标准库文件和各种应用程序)使得通过对AutoCAD进行二次开发来完成各类设计工作变得更加容易.现在对AutoCAD二次开发工具的几种方法作一个介绍,对比各自的优势及不足,给出各自的适用条件。
1.AutoLISPAutoLISP是AutoCAD最早的一种二次开发语言。
它是一种嵌入在AutoCAD内部的CommonLisp程序设计语言子集,并扩充了极强的图形处理功能.此外还可为AutoCAD添加某些特殊的函数功能,如制作幻灯片、菜单等。
AutoLISP应用程序既可完成通常的科学计算和数学分析,又能直接调用几乎全部AutoCAD命令。
这两者的有机结合,使它成为专业CAD开发者强有力的理想工具。
而Lisp是目前研究和开发人工智能与专家系统CAD的主要编程语言.AutoLISP有如下优点:(1)语言规则十分简单,易学易用。
对计算机了解不太深入的工程专业人员,仅需经短期的学习,就可以熟练掌握这门语言。
该语言的简洁性是其它许多计算机语言所无法相比的。
(2)直接针对AutoCAD,解释执行,易于交互。
AutoLISP提供的大多数函数都是直接针对AutoCAD操作的,用AutoLISP可编写访问AutoCAD图形数据库(DWG)的操作。
(3)解释执行立竿见影。
程序员既可以一次运行一段AutoLISP代码,也可以在AutoCAD 的”Command:”下逐条键入AutoLISP指令,立即得到结果。
随着计算机技术的发展,CAD编程逐渐复杂,代码越来越庞大,AutoLISP的缺点也越来越明显。
常用的CAD二次开发语言:1 AutoLISP 全名是LIST Processing Language,LISP是List Processor(表处理程序)的缩写,cad系统的第一代开发工具,是一种嵌入在AutoCAD内部的编程语言,是低版本AutoCAD的首选编程语言。
它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行。
其缺点是继承了LISP语言的编程规则而导致繁多的括号。
2 ADS 全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,丰富和保留了autolisp语言的功能,是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,不包含于cad内部,包含c语言的全部功能。
ADS速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理。
3 ObjectARX 崭新面向对象的开发AutoCAD应用程序的工具,以为编程语言,提供可与AutoCAD直接交互的开发环境。
可以与autolisp和ADS应用程序协同工作。
ObjectARX也没有包含在AutoCAD中,可在AutoDESK公司网站中去下载。
二次开发者可以充分利用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应用程序实现交互操作。
NET平台的AutoCAD二次开发当前AutoCAD的二次开发工具主要有:VisualLisp、VBA和ObjectARX等。
其中,VisualLisp与VBA较为简单,特别是VBA,使用方便且开发速度较快,但其功能相比ObjectARX有所不足,尤其是对面向对象的功能支持不好。
而ObjectARX基于VC平台,在C++的支持下,其功能非常强大,可以很好地运用各种面向对象技术,但其缺点是发开速度比较慢,同时对开发人员的能力要求较高。
.NET是微软新推出的开发平台,具有众多优点。
基于.NET平台对AutoCAD 进行二次开发,可充分利用.NET的各种优势,在保证功能强大的前提下大大提高开发速度。
一、基于.NET的开发 API简介在新推出的AutoCAD 2006中,Autodesk为其开发增加了 API。
API提供了一系列托管的外包类(Managed Wrapper Class),使开发人员可在.NET框架下,使用任何支持.NET的语言,如、C# 和Managed C++等对AutoCAD进行二次开发。
其优点是完全面向对象,在拥有与C++相匹配的强大功能的同时,具有方便易用的特点,是较理想的AutoCAD二次开发工具。
2 API与传统ObjectARX的主要区别.NET API与传统ObjectARX的区别主要源于在.NET环境下开发应用程序与在VC环境下开发应用程序的区别。
首先,在VC环境下,程序员需要自己管理内存的申请和释放,而.NET采用了垃圾回收机制,由.NET框架自行判断内存回收的时机并实行回收,从而解决了令C++程序员头痛的内存泄漏问题。
也正是由于这个特点,在.NET环境下不能象在C++环境下那样利用析构函数释放其他的资源,需要程序员在程序中显式地释放。
在.NET API中,主要通过Dispose来函数进行资源的释放。
其次,ObjectARX中的各种反应器(Reactor)在.NET API中由外包类映射为各种事件(Event),可通过定义这些事件的响应函数来响应AutoCAD的各种操作。
AutoCAD二次开发简介AutoCAD是一款功能强大的计算机辅助设计(CAD)软件,广泛应用于建筑、机械、电气等行业。
除了AutoCAD本身提供的功能外,用户还可以通过二次开发来扩展和定制AutoCAD的功能,以满足特定的需求。
AutoCAD二次开发的优势AutoCAD二次开发的优势在于可以根据用户的具体需求进行定制化开发,如自动化绘图、数据分析、工作流程优化等,提高工作效率和准确性。
与使用传统方法进行手动操作相比,二次开发可以大大简化工作流程,减少重复性劳动,节省了时间和人力资源。
AutoCAD二次开发的方法AutoCAD二次开发的主要方法包括使用AutoLISP、Visual Basic for Applications(VBA)、.NET等编程语言进行开发。
AutoLISPAutoLISP是AutoCAD内建的一种简单的解释性编程语言,用户可以通过AutoLISP开发自定义命令、函数和程序。
使用AutoLISP可以实现自动绘图、自动标注、数据提取等功能。
开发过程相对简单,但扩展性和性能有限。
VBAVBA是一种基于Microsoft Visual Basic的编程语言,用户可以通过VBA进行二次开发,进行更复杂的任务,如自动化CAD操作、数据处理等。
VBA具有良好的可扩展性和性能,并且易于学习和使用。
.NET使用.NET开发AutoCAD插件是一种相对较新和强大的二次开发方法,可以使用多种编程语言,如C#、等。
通过.NET开发,用户可以实现更高级的功能和交互,如集成数据库、Web服务等。
.NET开发需要一定的编程基础,但其灵活性和功能强大,使得更多复杂的任务可以得以实现。
AutoCAD二次开发的应用实例AutoCAD二次开发在各个领域都得到了广泛应用,以下是一些常见的应用实例:1.自动化绘图:通过二次开发,可以实现自动生成平面图、剖面图、立面图等,提高绘图效率和准确性。
2.数据提取与分析:通过二次开发,可以从大量的图纸中提取所需的数据和信息,并进行进一步的分析和统计。
CAD⼆次开发语⾔简介CAD⼆次开发,有很多不同层次的语⾔和库可供选择。
⾸先是VisualLisp和AutoLisp。
Lisp是⼀门历史悠久的函数式编程语⾔,很多概念和C这种过程式语⾔不⼀样,据说他在⼈⼯智能等⽅⾯有⼴泛的应⽤。
CAD引⼊了这种语⾔,给他添加相应的函数库,就成了命令⾏使⽤的AutoLisp。
在此基础上再增加关于对话框和窗⼝界⾯的库,就是VisualLisp,简称VL。
VL在CAD中可以视为CAD命令的整合,是脚本语⾔,⽽且由CAD程序提供了编写环境。
因此上⼿相当容易,便于编写,调试也很⽅便。
不过由于是脚本语⾔,就有两⼤缺陷。
第⼀是速度,当程序规模很⼤或是操作的对象数量过多时,你会明显感觉到迟钝。
第⼆是功能。
如果有什么功能是命令本⾝做不到的,那VL也做不到。
譬如关于⾃定义对象、内存操作、数据传递之类,往往要通过别的⽅法解决。
所以我个⼈认为Lisp适⽤于把现有命令组合成⼀个新命令来使⽤,尤其是存在⼤量重复操作的时候,⽤来做批处理⾮常好。
唯⼀让⼈感到不适的是,由于Lisp语⾔本⾝的语法要使⽤⼤量的圆括弧,当嵌套层次较深时,往往会在括弧的配对上发⽣问题。
第⼆⼤类是使⽤ActiveX和VB。
ActiveX是Microsoft提出的⼀组使⽤COM(Component Object Model,部件对象模型)使得软件部件在⽹络环境中进⾏交互的技术集。
ACAD使⽤Acitvex把数据传送给ActiveX程序,程序处理后再传回ACAD。
这个过程有点像浏览器浏览动态⽹站。
AcitveX与具体的编程语⾔⽆关,因此理论上说可以⽤任何⼀种⽀持他的语⾔来编写,但通常⼤家选择VB语⾔。
VBA是VB的特殊形式,他将VB植⼊到应⽤程序中。
ACAD包含的VBA能够和CAD共享地址空间,⽽独⽴的VB则需要通过接⼝完成。
这种⽅法在编写上⽐Lisp复杂,调试也困难。
但速度快,功能更强劲。
但是在某些对速度要求相当⾼的运算和涉及CAD内部的应⽤上仍然会显得⼒不从⼼。
正式版CAD二次开发一、引言随着计算机技术的飞速发展,CAD(计算机辅助设计)软件在各个领域得到了广泛应用。
为了满足不同用户的需求,许多企业和个人都希望对CAD软件进行二次开发,以实现特定的功能。
本文将介绍正式版CAD二次开发的基本概念、开发工具和开发流程。
二、二次开发的概念二次开发是指在已有的CAD软件基础上,通过编写代码或使用开发工具,增加新的功能或改进现有功能的过程。
二次开发可以满足用户特定的需求,提高工作效率,增强软件的适用性。
三、二次开发的工具1. API(应用程序编程接口):CAD软件通常提供API,允许开发者通过编程语言访问和操作软件的功能。
API提供了丰富的函数和类,开发者可以使用这些函数和类来实现二次开发。
2. 开发工具:一些CAD软件提供了专门的开发工具,如Visual Studio、Eclipse等,用于编写和调试二次开发的代码。
这些工具提供了代码编辑、调试和编译等功能,简化了二次开发的过程。
3. 插件:一些CAD软件支持插件,开发者可以将自己的代码打包成插件,然后将其安装到CAD软件中。
插件可以提供额外的功能,如自定义菜单、工具栏和对话框等。
四、二次开发的流程1. 需求分析:明确二次开发的目标和需求,确定需要实现的功能和改进点。
2. 设计:根据需求分析的结果,设计二次开发的架构和功能模块。
4. 调试:使用调试工具,对二次开发的代码进行调试和测试,确保功能的正确性和稳定性。
5. 部署:将二次开发的代码集成到CAD软件中,并进行部署和安装。
6. 维护:对二次开发的功能进行维护和更新,解决用户反馈的问题和需求。
五、注意事项1. 遵守软件许可协议:在进行二次开发时,需要遵守CAD软件的许可协议,确保合法合规地使用软件和API。
3. 与官方技术支持沟通:在遇到问题时,可以与CAD软件的官方技术支持团队进行沟通,寻求帮助和解决方案。
4. 持续学习和更新:CAD软件和API可能会不断更新和改进,开发者需要持续学习和更新自己的知识,以适应新的技术和需求。
甘肃科技纵横2009年(第38卷)第6期Auto CAD二次开发技术比较岳海云(甘肃政法学院,甘肃兰州730070)摘要:AutoCAD软件一直是CAD市场的主流产品,并以其功能强、用户界面友好,具有开放的体系结构和完善的开发系统,能够提供各种编程工具和接口用于满足不同层次用户的需要等优点,成为使用最为广泛的CAD软件和二次开发平台。
本论述就Auto desk 公司提供的四种主要的二次开发工具:Auto LISP(Vi-sual LISP)、ADS、Object ARX及VBA(VB)这些技术试做一比较。
关键词:CAD二次开发工具开发系统随着CAD技术的发展,CAD领域的支撑软件也越来越多,其中,Auto desk公司推出的Auto CAD系统软件和在其上进行二次开发的工具在国内外各行各业使用非常广泛,是CAD市场的主流产品。
但是许多企业购进AutoCAD软件,仅停留在计算机辅助绘图阶段,只是用作“代替图板”,而没有发挥其应有的作用。
只有真正地在其上实现了二次开发,才能充分发挥Auto CAD 的作用。
1Auto LISP语言LISP语言是一种表处理语言,是广泛应用于人工智能的语言。
ALISP语言是完全嵌套在AutoCAD内部的LISP编程语言,是LISP语言和AutoCAD有机结合的产物,它既具备一般高级语言的基本结构和功能,又具备一般高级语言所没有的图形处理能力。
利用ALISP 开发Auto CAD的一个典型例子就是实现参数化绘图的程序设计。
但也存在一些明显的缺点,例如:缺乏集成开发环境;面向过程的编程;采用解释方式,程序运行速度慢;其文件是ASCII码方式,无法编译,程序安全性差等,因此影响了该语言的发展,已被V LISP替代。
2ADS(AutoCAD Development System)开发系统ADS是从AutoCAD R11开始引入的基于C语言开发应用程序的系统。
它不是C语言的一个子集,而是基于C开发的专用语言。
autocad的应用现状及其二次开发技术Autocad(自动计算机辅助设计)作为一款重要的CAD软件,已被广泛使用于工程设计、建筑行业、制造业和其他许多领域。
由于图形建模和查看功能强大,它可以作为一种集成设计工具和计算机辅助制造工具,进行广泛的应用,以改善设计流程和生产效率。
autocad的应用范围有助于改进设计和生产流程,它可以帮助建筑师、产品设计师迅速且准确地准备3D模型来仿真设计概念,也可以直接将模型转换为可执行的生产程序。
Autodesk使autocad提供的许多增强功能,以便工程师能够以更高的精度满足客户的特殊要求。
像微软Visual Basic、Visual C++等一样,autocad也可以进行二次开发。
它的编程和控制语言允许建立自动完成模型创建和编辑过程。
Autocad API可以帮助自动化创建完整的模型或者模型片段,从而实现三维建模功能,在设计流程中节省了许多时间。
通过使用autocad API来改进系统中的可用功能,开发人员可以创建自定义应用程序。
它还可以建立C ++,C#,COM,VBA,DLL,.NET(网络访问),VML(易语言编程),Web。
web等不同类型的应用程序二次开发。
通过二次开发,开发人员可以创建适用于特定工程的提示系统,并以简单易懂的方式轻松操作自定义设计和功能。
在过去的几年里,autocad的开发及其应用已经取得了巨大的进展,因为它提供了一种强大和可靠的编程接口,可以方便开发人员根据技术应用的需求自由定制功能。
Autocad的增强版功能可以改善计算机辅助设计工作的效率,提高设计的可用性,使设计的流程更加顺畅,有效地提高设计的效率和质量。
如何选择autocad二次开发的工具AutoCAD提供了三种主要的开发工具,分别是:使用C/C++的ObjectARX, VB/VBA 的ActiveX 开发,以及AutoLISP/VisualLISP 开发工具。
每一个开发者都有自己的爱好,但是抛开所有的偏爱,人们经常想知道哪一种最好,我到底应该选择哪种工具?给这些人的答案是: “它取决于你要完成什么工作。
〃每一种开发工具都有不同的东西,在某谢情况下都有不可比拟的优点。
当决定究竟使用什么开发工具时, 你可以问自己四个问题:哪种语言让我感觉最顺手(舒服)?我有多少时间?谁是我的目标用户,他们有多少使用AutoCAD的经验?我到底需要对AutoCAD控制到什么程度,需要多少可能的窗口类型来尽快完成工作?当我介绍不同开发工具所具有的不同功能时,你可能会明口为什么这四个问题是重要的。
在谈及这几种开发工具时,我仅仅将它们看作在AutoCAD中使用的功能,而不将它们看作独立的应用程序。
ObjectARX:在三种开发工具中,这种工具拥有对AutoCAD最深入的控制能力,能够提供最多类型的窗体。
使用ARX可以向AutoCAD注册自己的命令,用户运行你的程序时无需了解关于AutoCAD更多的知识。
这种便利的代价就是编制ARX程序比VBA和LISP程序需要花费更多的时间,因此用来编制简单的绘图工具有点浪费了。
要掌握ARX的前提是你对C和C++非常熟悉,从个人观点来说,我最喜欢这种工具,但那是因为我做的99%的程序都是用C和C++语言,选择ARX意味着我不用学习一门新语言。
对我来说,回答“哪种语言让我感觉最顺手?〃就足够了。
ARX能够访问很多的AutoCAD底层工具(这些东西可能VBA和LISP并不能访问),这是大多数开发者选择ARX 的主要原因, 他们需要作一些用其他两种开发工具不能完成的工作。
此外,这也是唯一一种能够确保你的代码安全(不被别人阅读或非法复制)的开发工具。
AutoCAD二次开发工具之比较
冯波;刘晓玲
【期刊名称】《西华大学学报(自然科学版)》
【年(卷),期】2003(022)004
【摘要】作者对AutoCAD的几种主要开发工具进行了介绍,并对各种工具的特点及适用情况进行了分析和比较.
【总页数】3页(P50-52)
【作者】冯波;刘晓玲
【作者单位】西华大学汽车与交通工程系,四川,成都,610039;西华大学汽车与交通工程系,四川,成都,610039
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.AutoCAD二次开发工具及技术应用 [J], 王小娟;杨玲玲
2.利用AutoCAD二次开发工具实现赤平面投影 [J], 杨孟德;王玲
3.螺纹绘制工具的AutoCAD二次开发 [J], 代艳霞
4.螺纹绘制工具的AutoCAD二次开发 [J], 代艳霞
5.基于AutoCAD二次开发的
"HBEDI"测量工具包的应用研究 [J], 田其
因版权原因,仅展示原文概要,查看原文内容请购买。
AutoCAD二次开发工具的比较
AutoCAD是美国Autodesk公司的产品,是当今世界最为流行的计算机辅助设计软件之一,广泛应用于机械、建筑、电子、工程等许多领域。
它如此风靡的原因除了具有各种强大的绘图及编辑功能、友好的用户界面、易于操作等特性之外,还在于它所具有的开放式结构(Open Architecture,即允许用户开发自己的命令、标准库文件和各种应用程序)使得通过对AutoCAD进行二次开发来完成各类设计工作变得更加容易。
现在对AutoCAD二次开发工具的几种方法作一个介绍,对比各自的优势及不足,给出各自的适用条件。
1.AutoLISP
AutoLISP是AutoCAD最早的一种二次开发语言。
它是一种嵌入在AutoCAD内部的CommonLisp程序设计语言子集,并扩充了极强的图形处理功能。
此外还可为AutoCAD添加某些特殊的函数功能,如制作幻灯片、菜单等。
AutoLISP应用程序既可完成通常的科学计算和数学分析,又能直接调用几乎全部AutoCAD命令。
这两者的有机结合,使它成为专业CAD开发者强有力的理想工具。
而Lisp是目前研究和开发人工智能与专家系统CAD的主要编程语言。
AutoLISP有如下优点:(1)语言规则十分简单,易学易用。
对计算机了解不太深入的工程专业人员,仅需经短期的学习,就可以熟练掌握这门语言。
该语言的简洁性是其它许多计算机语言所无法相比
的。
(2)直接针对AutoCAD,解释执行,易于交互。
AutoLISP提供的大多数函数都是直接针对AutoCAD操作的,用AutoLISP可编写访问AutoCAD图形数据库(DWG)的操作。
(3)解释执行立竿见影。
程序员既可以一次运行一段AutoLISP代码,也可以在AutoCAD
的”Command:”下逐条键入AutoLISP指令,立即得到结果。
随着计算机技术的发展,CAD编程逐渐复杂,代码越来越庞大,AutoLISP的缺点也越来越明显。
如,综合处理能力差、程序运行速度慢、软件质量不易保证、开发环境集成度低和与人的思维方式不太一致等。
由于AutoLISP的这些特点,它仅适合于有能力的终端用户作些自己的开发任务,如今AutoLISP的使用已经逐渐被其它几种开发工具所取代。
2.ADS
它是AutoCAD开发系统(AutoCAD Development)的简称。
ADS 的编程界面可使用户用C语言来实现AutoCAD的用户化,既可运行第三方开发的ADS应用程序,也可以编写自己的ADS应用程序。
与AutoLISP相比,ADS程序的优越性如下:(1)具备错综复杂的综合大规模处理能力;(2)由于是编译开发环境,可以检查程序设计语言的逻辑错误,且执行速度快;(3)程序源代码的可读性好于LISP;(4)引入C++高级语言后,ADS也同样具有面向对象的功能,程序层次分明,清晰可读,从而使软件的可维护性得到提高;(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之后推出的一个全新的、真正意义上的面向对象的开发环境。
它采用各种类库,功能更为强大,编程更为简洁。
其开发语言为VC++。
ARX程序有如下特征:(1)能力强。
ARX本质上是Windows动态连接库(DLL)程序,通过与AutoCAD共享地址空间,直接调用AutoCAD核心函数,可直接访问AutoCAD数据库的数据结构和代码。
ARX程序与AutoCAD、Windows之间均采用消息传递机制直接通讯。
它允许用户创建新的AutoCAD命令,这些命令可以像AutoCAD自身的命令一样被AutoLISP和ADS调用。
可定义AutoCAD数据库对象,包括可见的实体和不可见的字典。
ARX定义的实体往往可以用较少的数据,就可以实现较复杂的显示,有利于减少磁盘文件的尺寸。
(2)速度快。
由于ARX应用程序本身是AutoCAD的一部分,即ACAD.EXE 调用的动态连接库(DLL),它拥有同AutoCXAD一样的内存地址空间,直接访问AutoCAD的各种内存对象,而AutoLISP和ADS都是通过函数间接地访问AutoCAD的。
这样在访问AutoCAD数据库的操作
上,ARX应用程序比AutoLISP和ADS的速度要快得多。
(3)面向对象编程。
ADS提供了6个主要类库(运行扩展库、命令扩展库、数据库访问库、通用几何库、图形界面库、边界描述库),以对AutoCAD 及常见的事物进行访问和控制。
然而,ARX程序比ADS程序具备更大的危险性和破坏性。
首先,ARX程序比ADS要复杂得多。
ARX程序设计的错误,经常导致AutoCAD崩溃,甚至操作系统的崩溃。
其次,ARX应用程序是一个动态连接库,调试时需要频繁启动AutoCAD,额外消耗的时间比Windows下的ADS多。
尽管如此,从二次开发长远的角度来看,掌握和利用ARX技术是AutoCAD二次开发的很好选择。
4.Visual LISP
Visual LISP(VLISP)是为加速AutoCAD程序开发而设计的软件工具,是AutoLISP的换代产品,与AutoLISP完全兼容,并提供它的所有功能。
VLISP的集成开发环境具备许多功能,使编写、修改代码以及测试和调试程序更加容易。
另外,VLISP还提供了用于发布由AutoLISP编写的独立应用程序的工具。
Visual LISP有一个交互式智能控制台,它还具有强大的文本编辑器和格式化器,使编程更加轻松高效。
此特性使Visual LISP成为编写LISP程序更有效的工具。
然而,Visual LISP只是AutoLISP功能的扩展,没有实质更为强大的功能。
5.VBA
由于VBA(Visual Basic for Application)出现得较晚,使用时又
必须内置于应用程序中,所以许多编程人员对它比较陌生。
然而,VBA很好地继承了Basic和Visual Basic易学、易用的特点,而且具备了最新的开发技术和强大的开发功能,所以日益受到应用软件开发者的青睐。
正是由于VBA对主应用程序的这种依附关系,使得它与主应用程序之间的通信变得简单而高效,即其代码完全是在进程内执行的。
尽管VBA的代码目前在程序中仍以解释的方式执行,但它与AutoCAD 完全共享内存空间,所以执行速度比用C语言开发的ADS应用程序还要快。
同时由于它是VB的子集,其语言结构十分简洁。
VBA提供了高质量的用户化编程能力,能够使得AutoCAD数据与其它VBA应用程序直接共享。
最重要的是VBA的加入,扩展了AutoCAD集成用户化工具的能力(集成了AutoLISP、Visual LISP和ObjectARX API等工具),为访问AutoCAD软件的多种技术框架提供了新的选择和新的开放机会,可以按所需求的工作方式进行应用程序的用户化,也可以从战略上考虑开发基于AutoCAD的应用程序。
此外,VBA的对话框构件快速、高效,允许开发者快速地定制程序原型和得到设计信息的及时反馈;其工程可以单独存在,也可以嵌入在图形中,这给开发者在发行应用程序时以极大的灵活性;并且,强化了AutoCAD与数据库的通讯能力。