化工制图AutoCAD实战教程与开发-第9章(CAD二次开发)
- 格式:ppt
- 大小:202.00 KB
- 文档页数:50
收稿日期:1997-08-29第一作者 男 1968年9月生 硕士学位 助教AutoCAD 的二次开发技术翟 震(郑州工业大学橡塑模具研究所) 张 涛(河南省电子工业学校,郑州,450002)摘 要 介绍了对AutoCAD R12.0绘图软件进行二次开发的一些方法。
包括如何实现参数化绘图、数据检索,以及对图形数据库的操作,对于工程CA D 系统的实现有一定的帮助。
关键词 A utoCA D ;AutoLI SP中图分类号 T P311.50 引言AutoCAD 是美国Auto desk 公司开发的通用型绘图软件,具有强大的图形编辑和处理功能、开放性结构以及良好的性能价格比,其版本从早期的1.0版到目前的R14版,在国内外都已得到广泛的应用。
AutoLISP 语言是一种嵌在AutoCAD 内部的LISP 编程语言,既具有一般高级语言的基本结构和功能,又具备AutoCAD 所特有的图形处理功能。
利用Au -toLISP 可以直接增加,修改和调用AutoCAD 命令,并能结合各类标准建立大量的参数图形库,还能够对当前图形数据库直接访问和修改等。
1 设计实例尽管AutoCAD 的功能十分强大,但是并不是完全符合我国各领域的实际情况,比如图幅设置、尺寸公差标注、图形编辑等,这就需要运用其内部编程语言AutoLISP 进行二次开发。
下面以通用绘图系统为例列举了一些典型的AutoLISP 程序,在AutoCAD R12.0环境下运行,用户可以此为参考开发出适合自己情况的CAD 软件。
1.1 AutoCAD 命令的扩充众所周知,AutoCAD 本身提供的各种命令都是最基本的,对一些复杂的具有特殊要求的操作,如果用手工操作将十分麻烦,类似于图幅设置、局部放大、无边界延伸等等,都需要编制新的函数,作为AutoCAD 命令调用。
下面列举了一个在工程制图时经常要进行的局部放大函数,其设计思想是:以圆心的外切正方形为目标区域, c 方式选择目标,拷贝后选择第19卷 第1期1998年 3月 郑州工业大学学报 Journal of Zhengzhou University of Technology Vol 19 No 1Mar 1998该圆为剪切边界,以1.2倍半径进行剪切目标360环形搜索,再按比例放大,该程序如下:(defun fd()(initget 7) ;禁止输入零值、负值及空输入(setp pl (getpoint 输入放大区域圆心坐标: ))(command circle pl);画圆心(setq prl (getpoint 输入半径位置: ))(setq k 2r (distance pl prl);计算半径 p2 (getpoint 输入放大图形位置 ))(setq p3 (list (- (car pl) r)(- (cadr pl) r));选中图形左下角p4 (list (+ (car pl) r)(+ (cadr pl) r));选中图形右下角p5 (list (- (car p2) r)(- (cadr p2) r));放大图形左下角p6 (list (+ (car p2) r)(+ (cadr p2) r));选中图形右下角r1 (* 1.35 r);剪切搜索半径 k 2);放大比例为2(command r)(command erase l ;删除该圆copy c p3 p4 p1 p2;将选中目标拷贝至p2点circle p2r);画圆(setq ss (ssget l ))(command trim ss )(setq n 360n11dt (/ 3.14159 0.5 n);设置搜索次数(repeat n(setq pp (polar p2 (*n1dt) r1))(command pp);剪切目标(setq n1(+1 n1)))(command scale c p5 p6 p2 k redraw );放大操作)1.2参数化绘图图1 键槽的轴剖面图根据调查,在我国使用AutoCAD 的用户中,绝大多数都仅仅采用交互式绘图方式,这样,AutoCAD 系统只是将设计师的工作环境从图板上移到计算机上,并没有真正减少设计工作中的重复劳动。
第 1章 Hello World: 工程的创建在这一章中,我们将不使用ObjectARX向导来创建一个新的工程。
我们将使用Visual Studio .NET来创建一个新的类库工程。
通过这个工程,你可以创建一个能被AutoCAD装载的.NET dll文件。
这个dll文件会向AutoCAD加入一个名为“HelloWorld”的新命令。
当用户运行这个命令后,在AutoCAD 命令行上将显示“Hello World”文本。
1) 启动Visual ,选择”文件>新建>工程”(File> New> Project)。
在新建工程对话框中选择工程类型为”Visual Basic 工程”,然后选择”类库”模板,在工程名字框中输入”Lab1”,然后选择工程存放的位置。
点击确定按钮来创建工程。
2) 在工程的Class1.vb文件中,一个公有类“Class1”已经被系统自动创建了。
接下来向这个类加入命令。
要加入命令,你必须使用AutoCAD .NET托管封装类。
这些托管封装类包含在两个托管模块中。
要加入对这两个托管模块的引用,请用鼠标右键单击”引用”然后选择”添加引用”。
在弹出的”添加引用”对话框中选择”浏览”。
在”选择组件”对话框中,选择AutoCAD 2006的安装目录(这里假定为C:\Program Files\AutoCAD 2006\),在这个目录下找到“acdbmgd.dll”然后选择并打开它。
再一次选择”浏览”,在AutoCAD 2006的安装目录下找到“acmgd.dll”并打开它。
当这两个组件被加入后,请单击”添加引用” 对话框中的”确定”按钮。
正如它们的名字所表示的,acdbmgd.dll包含ObjectDBX 托管类,而acmgd.dll包含AutoCAD托管类。
3) 使用对象浏览器(Visual 的”查看>其它窗口>对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。
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文件可以当成一个数据库来理解,因此难点就是理解这个数据库的结构和编程方法。
CAD二次开发与自动化操作技巧CAD(Computer-Aided Design)是一种常用的计算机辅助设计软件,广泛应用于工业设计、建筑设计等领域。
对于需要频繁使用CAD软件的设计师或工程师来说,了解CAD的二次开发与自动化操作技巧,将能大大提高工作效率。
本文将介绍一些常用的CAD二次开发和自动化操作技巧。
1. 自动计算CAD软件提供了很多自动计算的功能,可以帮助我们快速完成各种设计任务。
例如,在设计平面图时,可以使用CAD软件提供的面积计算功能,快速计算出各个区域的面积,节省了手动计算的时间和精力。
2. 定制工具栏CAD软件通常提供了一系列的工具栏,用于快速选择不同的工具。
但是,有时候我们可能只需要使用其中的几个工具,并不需要整个工具栏。
这时,我们可以通过定制工具栏,只保留需要使用的工具,提高操作的效率。
3. 编写脚本CAD软件通常支持使用脚本语言编写一系列的命令,这样可以实现自动化的操作。
例如,在设计中需要反复重复某种操作,可以将这些操作记录下来,并编写成脚本,以后只需运行该脚本,即可完成相同的操作,省去了反复操作的麻烦。
4. 使用快捷键熟练掌握CAD软件的快捷键,可以大大提高工作效率。
CAD软件通常提供了一系列的快捷键,用于快速选择不同的工具或进行常用操作。
我们可以根据自己的习惯,将常用的工具或操作与快捷键关联起来,达到快速操作的目的。
5. 插件扩展CAD软件通常支持插件的安装和使用,通过安装适合自己需要的插件,可以为软件增加一些额外的功能。
例如,CAD软件中可能没有一些特殊的工具或特效,但是通过安装相应的插件,就能够实现这些特殊的需求。
6. 自动标注在CAD设计中,常常需要对设计图纸进行标注,例如添加尺寸标注、注释等。
传统上,这些标注需要手动添加,费时费力。
而通过CAD软件提供的自动标注功能,我们只需设置一次标准,然后软件会自动根据我们的设计,添加相应的标注,大大减少了标注的工作量。
7. 批量处理CAD软件通常支持批量处理功能,可以对多个文件进行批量操作。
第14 章 VBA开发在采矿CAD绘图中的应用AutoCAD在不但提供了强大的绘图功能,同时也提供了一个功能强大的集成开以工具——Microsoft Visual Basic for Applications(VBA)。
VBA是一个AutoCAD应用集成开发环境,它提供了高质量的用户化编程能力,能够使AutoCAD数据与其它VBA应用程序,VBA 的加入扩展了AutoCAD集成用户化工具的能力,它集成了AutoLISP,Visual LISP和ObjectARX API等工具。
这样,就为用户访问AutoCAD软件的多种技术框架提供了新的选择和新的开放机会,可以按用户所需求的工作方式开发应用程序。
VBA开发环境是一个可视化开发环境。
使用VBA可以通过拖拽图标的方法,简单而可视化地建立用户界面。
可以使用AutoCAD工具栏,也可以使用标准VBA界面工具创建新的工具栏。
AutoCAD软件中的ActiveX Automation对象模型十分有用。
Autodesk开放了每一个AutoCAD对象模型,这些对象模型显示了每一个对象的方法和属性,并能够依用户的愿望去编程或用户化AutoCAD软件。
学习本章内容最好具有Visual Basic6.0基础(主要是相关控件的使用方法与Basic 语言语法结构知识),如没有相关基础知识,可在学习本章之前参考相关书籍或在学习本章内容过程中同步使用相关参考书。
通过本章的学习,应了解和掌握以下内容: 了解VBA。
了解AutoCAD对象模型。
掌握绘制AutoCAD图形对象方法。
掌握编辑图形对象方法。
掌握绘制文字方法。
掌握标注方法。
掌握创建块与插入块。
14.1 VBA基础14.1.1VBA管理器在当前AutoCAD进程中加载的所有VBA工程都可以用“VBA管理器”对话框来管理。
这是一个AutoCAD的管理工具,可以使用它来加载、卸载、保存、新建、嵌入和提取VBA工程。
“VBA管理器”对话框如图14-1所示。