化工制图AutoCAD实战教程与开发-第9章(CAD二次开发)

合集下载

AutoCAD的二次开发技术

AutoCAD的二次开发技术

收稿日期: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 系统只是将设计师的工作环境从图板上移到计算机上,并没有真正减少设计工作中的重复劳动。

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 的”查看>其它窗口>对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。

计算机辅助设计二次开发案例教程ch09

计算机辅助设计二次开发案例教程ch09
9.4.1 系统运行环境 系统对硬件的要求:具有Intel(R) Pentium( R) 1.6 GHz以上或更快的CPU的多媒体计算机,内 存1 GB,硬盘80 GB。 系统对软件的要求:安装了Windows XP或 Windows 2000的操作系统以及AutoCAD 2008版 本的应用环境。 9.4.2 系统启动和配置 (1) 启动AutoCAD 2008。 (2) 在命令行输入CONFIG命令,在弹出的对话 框中设置文件搜索路径。将制作的AutoLISP、 BMP(图片)、MENU(菜单)、WBLOCK(图 块)、SLD(幻灯片)添加为AutoCAD启动时支 23 持的文件搜索路径。
6
9.2
化工工艺流程CAD应用系统设计
9.2.1 各功能模块的描述
3. 平面绘图功能 包括了直线、射线、圆以及圆弧等基本绘 图功能和文字编辑功能,还提供了专门用于绘 制化工工艺流程图的各种箭头。 4. 平面编辑功能 除了具备移动、复制、镜像、旋转、比例、 修剪等基本图形编辑功能外,还有鸟瞰图、多 重修剪、单点断线(断工艺线相交处)、截断 插入等 功能。
转载请注明
26
图9.11 专业工具栏
19
9.3 各个功能模块的实现
9.3.4 比例和图纸功能的实现 比例和图纸模块包含了常用的A0~A5的图纸以及 部分加长图纸和图幅所使用的比例尺,如图9.12 所示。
图 9.12 比例和图纸工具栏
20
9.3 各个功能模块的实现
9.3.5 物料平衡报表功能的实现 它可以快速地生成化工工艺流程的物料平衡报 表,包括了标题栏和详细列表,用来描述流程图 中各设备的编号及列表,有关物料的名称、规格、 数量等内容。这些功能都是通过调用Visual LISP 开发的应用程序来实现的。 9.3.6 状态行帮助和快捷键模块的实现 状态行帮助指的是当突出显示下拉菜单和快 捷菜单的命令时,显示在状态栏中的文字,包括 了对命令的功能解释和命令符号。它通过 ***HELPSTRINGS 菜单部分定义实现的。

AUTOCAD二次开发技术

AUTOCAD二次开发技术

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二次开发与应用


通过本次课程的学习,对CAD二次开发技术的基本知 识进行详细的了解和学习,能够根据实际学习工作中遇到 的问题,分析需求并编制程序,解决问题。
本课程分为三部分:
• 第一部分:AutoLISP开发技术(16学时) • 第二部分:ObjectARX开发技术(20学时) • 第三部分:CAD二次开发技术在工程中的应 用(4学时)
• 0.2 CAD二次开发技术简介
• 0.3 开发工具简介
0.1
CAD软件介绍
0.1.1 CAD系列软件
在全球设计软件公司中,欧特克拥有最长产品线和最广行业覆盖,近年来 每年保持近20%的业绩增长。2009年,欧特克全球营收达23.15亿美元。欧 特克正一如既往地专注于技术的不断创新,包括设计、可视化和仿真分析 ,为各行各业的用户提供最好的设计、工程和娱乐软件、解决方案及服务。 目前Autodesk公司相关的软件产品达到80种以上,为工程建设行业、地理 空间、制造业、传媒娱乐业、汽车与交通运输业进行着服务。
第一部分:AutoLisp开发技术
• 绪 论 CAD二次开发技术简介 • 第一章 AutoLISP语言集成开发环境 • 第二章 AutoLISP功能函数 • 第三章 在AutoLISP中使用ActiveX对象 • 第四章 AutoLISP对话框设计
绪论
CAD二次开发技术简介
• 0.1 CAD软件介绍
0.2
开发的主要内容
CAD二次开发技术简介
CAD二次开发就是借助AUTOCAD这个平台利用相应的 开发软件进行专业化开发,形成自己所需的特定的软件
(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件, 以及一些DCL文件。 (2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添 加自己的内容,对于 AutoCAD200x版本还可增加部分菜单文件,然后经交 互方式加入到系统中去。 (3)在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化 操作,如在启动时立即装入一些文件等。 (4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它 AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检 索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上 述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统, 将大大提高工作效率 (5)面向对象,让用户能够根据自己的需要编写相关程序,进行二次开发。

CAD二次开发与自动化操作技巧

CAD二次开发与自动化操作技巧

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软件通常支持批量处理功能,可以对多个文件进行批量操作。

AutoCAD二次开发[VBA]

第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所示。

CAD二次开发技术一二课案

nil等等)。 AutoLISP的变量不需要事先定义。
每整一数个、变实量都数要、消符耗号少、量内字存符,串故在当A变u量to值L不IS再P语有用言时中重称复为使 用原变子量。名原或子将变包量括设:置数成字nil原是良子好、的符程号序原设计子习和惯串。原子。
其值保持不变的变量称为常量,如:Pi
第11页/共37页
ASCII码文本编辑器(如记事本)来进行编辑。编辑后 以扩展名为“.lsp”进行保存。
使用Visual LISP编程环境:打开AutoCAD2000及以 上版本,点击“工具”菜单下AutoLISP(S)菜单项中 的Visual LISP编辑器(V),进入Visual LISP编程环 境 程序运行:
加:(+ <数1> <数2 > …) 减:(- <数1> <数2 > …) 乘:(* <数1> <数2 > …) 除:(/ <数1> <数2 > …)
注意防止除数为零,如:(/ 25 (/ 4 9))
求最大数:(max <数1> <数2 > …) 求最小数:(min <数1> <数2 > …) 求平方根:(sqrt <数> ) 求幂次方:(expt <数> ) 求绝对值:可以占多行,一行也可以写多个表;
AutoLISP用“;”作注释;
AutoLISP是以扩展名为“.lsp”的ASCII码文本文件的
形式存储。
第15页/共37页
§1.4 AutoLISP语言概述
四、编辑和运行AutoLISP的程序
程序编辑: AutoLISP程序是纯文本文件,可以用任意一种

CAD二次开发技术课件(一、二)


§1.3 AutoCAD二次开发工具简介
ARX
ObjectARX是AutoDesk公司针对AutoCAD平台上的二 次开发而推出的一个开发软件包,它提供了以C++为基 础的面向对象的开发环境及应用程序接口,能真正快速 的访问AutoCAD图形数据库。 ObjectARX应用程序是一 个DLL(动态链接库),共享AutoCAD的地址空间,对 AutoCAD进行直接函数调用。所以,使用ARX编程的函数 的执行速度得以大大提高。ARX 类库采用了标准的C++ 类库的封装形式,这也大大提高了程序员编程的可靠度 和效率。 由于是在Windows及VC++编程环境里运行,所以, 对开发者的编程能力要求较高。
Байду номын сангаас
§1.3 AutoCAD二次开发工具简介
ActiveX Automation 是 微 软 公 司 VBA 推出的一个技术标准,其作用是在 Windows系统的统一管理下协调不同的 Windows 系统的统一管理下协调不同的 VBA是2000版本后具备 应用程序,允许应用程序之间相互控制、 应用程序,允许应用程序之间相互控制、 相互调用。 相互调用。 的 功 能 。 它 通 过 AutoCAD AutoCAD ActiveX技术提供了一种 ActiveX 技术提供了一种 ActiveX Automation 接 口 机制,可使编程者通过编程手段从 对 AutoCAD 进 行 编 程 控 制 , AutoCAD的内部或外部来操纵 AutoCAD。 AutoCAD 的内部或外部来操纵 AutoCAD 。 ActiveX是由一系列的对象组成, 每一 ActiveX 是由一系列的对象组成, 是由一系列的对象组成 是一个引入了对象的设计 个对象代表了AutoCAD 中一个明确的功 个对象代表了 AutoCAD中一个明确的功 AutoCAD 环境,为用户提供类似 能,如绘制图形对象、定义块和属性等 如绘制图形对象、 Visual Basic语言所拥有的 等 。 ActiveX 所 具 备 的 绝 大 多 数 AutoCAD功能, 均以方法和属性的方式 AutoCAD 功能, 功能 功能,可以执行并存取 被封装在 ActiveX对象中, ActiveX 对象中 AutoCAD 环 境 的 所 有 资 源 , 被封装在ActiveX对象中,只要使用某 种方式,使 ActiveX对象得以“ 暴露”, 种方式 , ActiveX 对象得以“暴露 ” 对象得以 适合编写中型的数据库类 那么就可以使用各种面向对象编程的语 言对其中的方法、属性进行引用,从而 言对其中的方法、属性进行引用, 的CAD软件。 达到对AutoCAD实现编程的目的。 达到对AutoCAD实现编程的目的。 AutoCAD实现编程的目的

【AUTOCAD课件】计算机辅助绘图第9章共50页文档


C1
C1
C1
C1
C1
C1
C1
C1
C1
M5
办公 办公
办公 办公
医务 医务 医务
±0.000
E
M1
M1
M1
D
汽车库
M1 M1
M1 M1
M1 M1
M3
M3
M5
C

M1 M1
M1
下 M4 M4
B
-0.300
C2
-0.20女 0 厕C3
收发
办公 办公 办公
±0.000
±0.000
男厕
M5
A
C1
C1
M2-0.200 C1
第九章 建筑施工图绘制
计算机辅助绘图
图9-19
第九章 建筑施工图绘制
9.2.4 图形绘制
(7)在B、C和9、10轴线间,B、C和2、3轴线间插 入半径为650的门,如下图9-20和9-21所示:
图9-20
计算机辅助绘图
图9-21
9.2.4 图形绘制
8.绘制厕所 在A、B和9、10轴线之间
绘制厕所,尺寸如下图9-22 所示:
5.绘制内部的多线 (墙体)
(1)设置多线,偏 移量设置如下图9-9所 示:
计算机辅助绘图
第九章 建筑施工图绘制
图9-8 图9-9
第九章 建筑施工图绘制
9.2.4 图形绘制
(2)根据下图尺寸
用多线绘制,效果如
下9-10所示:
6.绘制楼梯
图9-10
(1)应用格式工具栏中的“多重引线样式”,根据
下图9-11的尺寸在A、B和3、4,8、9轴线之间绘制室
9.1.3 建筑剖面图的绘制
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档