CAD二次开发手册

合集下载

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

第五章 AutCAD二次开发

第五章 AutCAD二次开发
旋转值(默认0),文本相对于直线旋转的角度,本例为0。该值 为0,文本方向始终与直线方向保持平行。其它角度值,文本将沿直 线在指定点位置旋转;也可以改R=为A=定义旋转,表示文本相对 于 坐标原点进行旋转(单位d为度(默认),r为弧度,g为百分度)
X和Y的值表示文本相对于直线的偏移量。X可以用来拟合横线之 间形成文本的空间;Y可以用来使形或文本沿线型居中。
标题行
➢ 定义时始终用星号(*)开始; ➢ 说明字符限制在47个字符以内; ➢ 如果包含说明,之前要放置逗号。
定义行
√ 横线用正数、点用零、空格用负数表示; √ 每项之间用逗号(,)分隔,没有空格, √ 每行的最大长度为80个英文字符;
√ 每行都必须以字符A开头。
Exp1:
*DASHDOT,
.
.
A,0.5,-0.25,0,-0.25
/=
不等于。如果所有参数值不相等,返回T,否则,返回nil
<
小于。如果每个参数值都小于下一个参数,返回T,否则,返回nil
>
大于。如果每个参数值都大于下一个参数,返回T,否则,返回nil
>=
大于等于。如果每个参数值都大于或等于下一个参数,返回T,否则,返回nil
<=
小于等于。如果每个参数值都xiao于或等于下一个参数,返回T,否则,返回nil
通过AutoLISP能够了解到AutoCAD的内部工作原理,并 且是学习ObjectARX和VBA这样更加先进的自动方法的奠基 石。 AutoLISP例程可以为用户提供全面控制程序运行与用 户之间相互关系的能力。
AutoLISP的扩展名为.lsp,但是为了安全和运行速度, 可将AutoLISP文件保存成.fas或.vlx为扩展名的工程项目应用 文件。 AutoCAD首先加载.vlx文件,然后加载.fas文件,最 后加载.lsp文件。例如,如果有两个redline.vlx和redline. 件,AutoCAD加载.vlx文件,但如果.lsp文件比.fas文件新, AutoCAD将加载.lsp文件。

CAD二次开发安装说明

CAD二次开发安装说明

CAD二次开发安装说明
1.将CAD二次开发3个文件夹复制到电脑C盘。

2.打开CAD程序,
㈠打开界面(工具栏--------选项---------文件--------支持文件搜索路径(将C盘的三个CAD二次开发文添加到该项内)---------确认。

加载标准样板:工具栏--------选项---------文件----快速新建的默认样板文件名----选择C:\EngCAD\set\acadiso.dwt
㈡加载菜单:输入MENULOAD (分别将C盘的ENGCAD文件夹内的,《ENGCAD 编译菜单》)和(将C盘的jxyomm-lisp文件夹内的,《jxyadd 编译菜单》打开加载到该项内)---------关闭。

㈢将C盘的C:\EngCAD\set文件内的acad.pgp,文件打开将该文件夹内的所有字母复制到(CAD界面内工具-----自定义-------编辑自定义文件-------程序参数,替换原有的程序参数)。

CAD二次开发手册

CAD二次开发手册

VBA 开发手册 第一章 VBA 入门 了解嵌入和全局 VBA 工程 AutoCAD VBA 工程是代码模块、类模块和窗体的集合,它们组合起来以执行给予的功能。

工程可保存在 AutoCAD 图形中,或作为独立的文件保存。

嵌入工程是保存在 AutoCAD 图形中。

当包含有这些工程的图形中 AutoCAD 打开时,他们可以自动地装载,这种方法可以很方便地分发工程给用户。

嵌入工程也有它的极限,它不能打开或关闭 AutoCAD 图形,那是由于他们的函数只存在于工程所在的文档中。

使用嵌入工程不需要在运行程序之前查找并装载工程文件。

举个含有嵌入工程的图形的例子,当图形打开时,一个时间日志被触发。

通过这样一个宏的应用可以登记并记录用户在该图形上所花费的时间。

这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个很好的例子。

全局工程保存在独立的文件中,它更加通用,因为他们能在 AutoCAD 图形中运行,也能打开、关闭AutoCAD 图形,但它在图形打开时不能自动装载。

用户必须知道他们所需要的宏包含在哪个工程文件中。

然而,全局工程非常容易与其它使用者共享,它可以将通用的宏做为很好的库而存在。

举个例子,你保存在一个工程文件中的宏是有关多个图形的材料清单。

这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。

在特定的时间,用户可以在同个AutoCAD 进程中同时装载嵌入工程和全局工程。

AutoCAD VBA 工程与 Visual Basic 工程在二进制结构上是不兼容的。

然而,其中的窗体、模块和类可以通过在 VBAIDE 环境中使用输入和输出 VBA 命令来在工程之间进行转换。

关于VBA IDE 的更多信息,可以查看“用 VBA IDE 编辑工程” 用 VBA 管理器组织工程你可以使用 VBA 管理器查看装载在当前 AutoCAD 进程的所有 VBA 工程。

VBA 管理器一个AutoCAD 工具,它允许你装载、卸载、保存、创建、嵌入和分离VBA 工程。

CAD二次开发毕业设计说明书

CAD二次开发毕业设计说明书
1
(3)ObjectARX ObjectARX 是一种崭新的开发 AutoCAD 应用程序的工具,她以 C++为编程 语言,采用先进的面向对象的编程原理,提供可与 AutoCAD 直接交互的开发环 境,能使用户方便快捷地开发出高效简洁的 Auto CAD 应用程序。ObjectARX 并 没有包含在 AutoCAD 中,可在 AutoDESK 公司网站中去下载,其最新版本是 ObjectARX for AutoCAD 2000,它能够对 AutoCAD 的所有事务进行完整的、先 进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳 定性更强。 (4)VisualLISP VisualLISP 已经被完整地集成到 AutoCAD 2000 中,她为开发者提供了崭新 的、增强的集成开发环境,一改过去在 AutoCAD 中内嵌 AtuoLISP 运行引擎的 机制,这样开发者可以直接使用 AutoCAD 中的对象和反应器,进行更底层的开 发。其特点为自身是 AutoCAD 2000 中默认的代码编辑工具;用它开发 AutoLISP 程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家 使用 ActiveX 对象及其事件;使用了流行的有色代码编辑器和完善的调试工具, 使大家很容易创建和分析 LISP 程序的运行情况。在 VisualLISP 中新增了一些函 数:如基于 AutoLISP 的 ActiveX/COM 自动化操作接口;用于执行基于 Auto CAD 内部事件的 LISP 程序的对象反应器;新增了能够对操作系统文件进行操作的函 数。 (5)VBA VBA 即 Mcrosoft office 中 的 Visual Basic for Applications , 它 被 集 成 到 AutoCAD 2000 中。VBA 为开发者提供了一种新的选择,也为用户访问 AutoCAD 2000 中丰富的技术框架打开一条新的通道。VBA 和 AutoCAD 2000 中强大的 ActiveX 自动化对象模型的结合,代表了一种新型的定制 AutoCAD 的模式构架。 通过 VBA,我们可以操作 AutoCAD,控制 ActiveX 和其它一些应用程序.。 在 以 上 开发 工 具中, 作 者采用了 VisualLISP 语言 作 为开发 工 具,因 为 VisualLISP 语言具有以下优势: (1)VisualLISP 语言是 AutoCAD 的内嵌开发工具。是 LISP 语言和 AutoCAD 有机结合的产物,同时也是 AutoCAD 软件包的一个重要组成部分。用户可以通 过 AutoLISP 直接调用 AutoCAD 的命令,也可以对 AutoCAD 命令进行扩展,还 可以实现对 AutoCAD 当前图形直接访问和修改。 (2)VisualLISP 语言语法格式简单易学,其与 AutoCAD 练习函数 Command 可直接调用 AutoCAD 命令,命令格式与绘图顺序和格式完全一致,对于经常使 用 AutoCAD 的用户极为方便。 (3)编辑环境实用、方便。绘图环境提供了控制台,在控制台的命令行作

AutoCAD二次开发实用教程第3章 AutoLISP基本函数

AutoCAD二次开发实用教程第3章 AutoLISP基本函数

第3章 AutoLISP基本函数
3.1.1 计算函数 11.(LOG <数>) 该函数是EXP的反函数,返回值为<数>的自然对数值,其 数据类型为实型数。 例如:
(LOG (LOG (LOG (LOG
3) 返回1.098610 1) 返回0.00000 1.22) 返回0.198850 -90) 返回错误:没有为参数定义函数: -90
(ATAN -1.0) 返回-0.785398(弧度),即-45° 如果<数1>和<数2>都存在了,则返回<数1>/<数2>的反正切 值(单位为弧度)。 (ATAN 2.0 3.0) 返回值0.588002(弧度) (ATAN 2.0 -3.0) 返回值2.553590(弧度) (ATAN -2.0 3.0) 返回值-0.588002(弧度) (ATAN -2.0 -3.0) 返回值-2.553590(弧度)
第3章 AutoLISP基本函数
3.1.1 计算函数 5.(/ <数1> <数2>…) 本函数返回<数1>除以<数2>,再除以<数3>…依次做除法运 算的结果。如果仅提供了一个<数>,则返回<数>除以1的 结果。
各个<数>类型不同,计算结果不同,返回值类型也不同。 例如: (/ 9 2) 返回值4 (/ 9 2.0) 返回值4.5000 (/ 9 (/ 2 3)) error:divide by zero (/ 9 (/ 2.0 3)) 返回13.5000 (/ 4) 返回4 (相当于4÷1=4)
返回4.0700 返回9.0000 返回-1 返回9.0000 返回2.0

CAD二次开发Visual_LISP指南

CAD二次开发Visual_LISP指南
第三章 使用 Visual LISP 调试工具 ............................................ 7 3.1 局部变量和全局变量的区别 ............................................. 7 3.1.1 在程序中使用局部变量 ........................................... 7 3.1.2 检查 gp:getPointInput 函数 ..................................... 8 3.2 使用关联表来捆绑数据 ................................................. 9 3.2.1 使用关联表 .................................................... 10 3.2.2 将 gp:getPointInput 的返回值保存到变量中 ...................... 10 3.3 检查程序变量 ........................................................ 11 3.4 修改程序代码 ........................................................ 12 3.5 给程序代码加注释 .................................................... 14 3.6 设置断点并进行更多监视 .............................................. 15 3.6.1 使用“调试”工具栏 ............................................ 15 3.6.2 单步执行代码 .................................................. 17 3.6.3 单步执行程序时监视变量 ........................................ 17 3.6.4 跳出函数 gp:getPointInput 并进入 C:Gpmain ..................... 18 3.7 第二课回顾 .......................................................... 19

cad vba二次开发说明书

cad vba二次开发说明书

摘要利用计算机及其图形设备帮助设计人员进行设计工作。

简称cad。

在工程和产品设计中,计算机可以帮助设计人员担负计算、信息存储和制图等项工作。

在设计中通常要用计算机对不同方案进行大量的计算、分析和比较,以决定最优方案;各种设计信息,不论是数字的、文字的或图形的,都能存放在计算机的内存或外存里,并能快速地检索;设计人员通常用草图开始设计,将草图变为工作图的繁重工作可以交给计算机完成;由计算机自动产生的设计结果,可以快速作出图形显示出来,使设计人员及时对设计作出判断和修改;利用计算机可以进行与图形的编辑、放大、缩小、平移和旋转等有关的图形数据加工工作。

cad 能够减轻设计人员的计算画图等重复性劳动,专注于设计本身,缩短设计周期和提高设计质量。

本课题简单介绍了CAD技术在机械方面的应用、其发展现状和趋势,以及常用的紧固件产品。

它以AutoCAD为开发平台,以VBA为开发工具,实现了紧固件设计智能化,为工程设计人员提供高效率的设计工具。

关键词:CAD;VBA;二次开发AbstractThe use of computers and graphic design equipment to help staff design work. Referred to as cad. In engineering and product design, computer designers can help take computing, information storage and graphics work etc.. Usually used in the design of computer programs for a large number of different calculation, analysis and comparison, to determine the optimal program; a variety of design information, no matter the number, text or graphics can be stored in computer memory or outside depositors, and that can be quickly retrieved; designers usually started with the draft design, will draft a work plan to the heavy workload of the computer can be completed; automatically generated by computer design, graphics can be displayed quickly, so that designers timely decisions and modify the design; the use of computers and graphics can be edited, magnified, reduced, such as translation and rotation of graphics data processing work. cad designers to reduce the calculation of drawing, such as repetitive work, focusing on the design itself, to shorten the design cycle and improve design quality.This text gives an introduction to the CAD of engineering applications, development , principal types of screw threads in most general use. The CAD system is developed upon AutoCAD software platform and VBA as tools. it can provide efficient design tool, applied in screws design, and techniques design forengineering design staffs.KeyWords:CAD ; VBA ; development目录摘要 (I)Abstract (II)1综述 (1)1.1AutoCAD简介 (1)1.1.1CAD系统的发展概况 (1)1.1.2 CAD的特点和功能 (2)1.1.3 CAD的研究方向和发展趋势 (3)1.2 VBA语言简介 (6)1.2.1 VBA工程和宏 (6)1.2.2 VBA IDE简介 (10)1.2.3 基本函数 (12)1.3 CAD 应用软件开发 (15)1.3.1 CAD的开发技术 (15)1.3.2 CAD软件开发方法及步骤 (17)1.3.3 CAD应用软件的开发意义 (19)2 参数化绘图程序的编写 (21)2.1紧固件的简介 (21)2.1.1紧固件螺纹联接 (24)2.1.2 紧固件发展概况及发展趋势 (25)2.2 参数化绘图程序设计 (27)2.2.1 编程前的准备 (27)2.2.2 组成双头螺柱俯视图的各种图元 (28)2.2.3 组成双头螺柱主视图的各种图元 (31)2.3对话框设计 (34)2.3.1 对话框设计简介 (34)2.3.2 对话框的程序设计 (34)2.4程序的调试 (47)2.4.1 调试程序应当注意的地方 (47)2.4.2 调试完毕后的CAD完整图形 (47)2.5手动插入下拉菜单 (48)结论 (51)参考文献 (52)致谢 (54)附录A源代码 (55)1综述1.1A utoCAD简介计算机辅助设计指利用计算机及其图形设备帮助设计人员进行设计工作。

CAD二次开发Visual_LISP指南

CAD二次开发Visual_LISP指南
第二章 设计和开始编程....................................................... 2 2.1 定义整个程序的目标 ................................................... 2 2.2 Visual LISP 入门 ..................................................... 2 2.2.1 查看 Visual LISP 等待控制从 AutoCAD 返回的步骤 ................. 2 2.2.2 使用 Visual LISP 开始编写应用程序的步骤 ........................ 3 2.3 Visual LISP 代码格式设置 ............................................. 4 2.4 分析代码 ............................................................. 4 2.5 填补程序 ............................................................. 4 2.5.1 给应用程序加上简单空函数的步骤 ................................. 4 2.6 让 Visual LISP 检查您的代码 .......................................... 5 2.7 在 Visual LISP 中运行程序 ............................................ 6 2.8 第一课回顾 ........................................................... 6

CAD二次开发程序使用说明

CAD二次开发程序使用说明

CAD二次开发程序使用说明CAD二次开发程序使用说明:1.打开CAD,调用并加载ARX程序,输入命令“ly”,弹出如下的对话框。

点击确定。

2.点击确定,弹出如下的对话框。

在该对话框里,有两种主要功能组合可供使用。

3.在如上对话框里可以选择不同的点选控件,完成不同的操作。

现将一一解释说明。

(一)多段轴绘制可以点击“多段轴绘制”选择控件“n=3”或者“n=4”,弹出如下的对话框:可以看到在“多段轴n=3”以及“多段轴n=4”对话框中,可以对轴的基点进行自定义,可以手工输入轴的基点,同时还可以自定义轴的各段轴的半径和轴长,完全做到对轴的自定义。

同时还可以选择“举例”控件,熟悉了解该对话框的功能。

图如下:点击“画轴”按钮,将会在CAD中,画出已经标注好的轴。

如下举例:(二)深沟球轴承校核可以选择“轴承相关”里的“深沟球轴承校核”“60000”选择控件,弹出如下的对话框:(1)在该对话框里,可以在“初始参数”里手工输入你所需要的参数“Fr”,“Fa”,“n”,“Lh’”,“fp”“C0”,“C”,也可以在“举例”里选择“举例参数”“轴承”等等来自动输入固定的参数(仅用于演示操作)。

(2)点击按钮“初步计算”,可以看到“选择框”中,“Fa/Fr”,“Fa/C0”自动算出,根据“Fa/C0”的范围,在“Fa/C0选择”框里选择范围(有五组,从0.0025-0.5000),此时“插值参数”框里有关参数如“e1”,“e2”等自动给出。

(3)点击插值按钮,可以看到“选择框”中,“e”,“X”,“Y”已经计算给出,此时插值计算完成。

(4)最后点击“校核”按钮,“P”“Lh”会计算出来,同时根据计算结果,程序判断“Lh”是否小于“Lh’”,如果是,则会弹出如下的对话框:如果不是,则表示校核合格,弹出对话框如下:(5)点击“确定”按钮,返回上一级对话框。

(三)角接触球轴承校核可以选择“轴承相关”里的“角接触球轴承校核”“70000C”选择控件,弹出如下的对话框:(1)在该对话框里,可以使用右下角的“举例”组合框,选择“初始参数”“7207C”(可以单独选择),也可以手工在“初始参数”框里定义你所需要的单元值如“Fte”,“Fre”,“Fae”“L1”,“L2”“R”等等,完成对参数的定义。

autocad的二次开发

autocad的二次开发

autocad的二次开发(1)编写各种用户自定义函数并形成假设干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。

(3)在系统的ACAD、LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。

(4)通过系统对话框设置某些路径。

这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

为此笔者用VC++开发了一套自动安装程序,使原本需要【五】六分钟的人工操作在十几秒内即可自动完成。

【一】基本思路整个安装程序遵循以下思路:1〕首先获得所在机器AutoCAD2000系统的安装路径;2〕寻找菜单文件AutoCAD2000\\support\\acaD、mnu,打开文件并将要添加的内容加至末尾;3〕寻找LISP文件AutoCAD2000\\support\\acad2000doC、lsp,打开文件并将要添加的内容加至末尾;4〕创建一个预先命名的子目录,将所有二次开发形成的各类文件拷入;5〕给出信息框,告知安装成功,如有问题那么告知安装失败。

需要指出的是,在添入acad2000doC、lsp的内容中须有如下语句:〔command“_menu”〔strcat〔getvar”menuname”〕”、mnu”〕〕,目的是为了强制执行菜单文件装入命令,将改动后的acaD、mnu文件编译后装入。

另外,在添入acad2000doC、lsp的内容中还有一赋值语句,将准备创建的包含所有二次开发生成文件的子目录全路径名赋予一全局变量,以供二次开发程序在需要时调用,从而避免了在AutoCAD环境下交互设定路径的麻烦。

CAD应用VBA 二次开发

CAD应用VBA 二次开发

*.EXE
Active X Automation
Visual Basic
*.EXE
AutoCAD 的二次开发工具演变的过程可以从下面的图中看出。
189
地下工程软件应用与开发
图 4.1.1 AutoCAD 二次开发工具的演变
4.2 AutoCAD 文件型二次开发
4.2.1 命令的用户化
1 程序参数文件(ACAD.PGP)的结构与功能 AutoCAD 程序参数文件(ACAD.PGP)是一个文本文件,用于存放 AutoCAD 定义的命令。 该文件分为两部分: 第一部分定义外部命令 每二部分定义命令别名
Create new file Enter pattern(on next次开发及其在地下工程中的应用
A,(此处用户应键入所定义线型的具体参数) New definition written to file ?/Create/Load/Set:C(回车) 到此,新线型既已加在原有的线型文件中。若要继续增加新线型,则可输入“C”重复上 述过程。否则回车,结束—LINETYPE 命令,回到“命令(Command):”提示符下。
4.1.1 AutoCAD 概述
AutoCAD 是由美国 Autodesk 公司推出,并在国际工程界广泛使用的计算机辅助绘图 软件。AutoCAD 是一个功能齐全、应用广泛的通用图形软件包,另外,它具有开放式的体 系结构,赢得了广大用户的青睐。AutoCAD 的基本特性如下:
1.采用高级用户界面 2.具有一整套功能齐全的绘图和编辑命令 (1) 基本命令:二维和三维的实体绘制、图层操作、图块操作、尺寸标注、图形编辑、 显示控制、图案填充、属性处理、外部引用等,还包括系统设置、图形的输入输出等。 (2) 三维实体扩展命令 (3) 数据接口命令 (4) 光栅图片处理命令 3.提供 Auto Lisp 与 ADS、ARX 的开发系统 4.提供多种接口技术 例如提供 DXF 文件格式与高级语言进行信息交换、IGES 等文件格式与其它 CAD 系统进行图形转换。 5.允许进行系统参数和标准库文件的修改 AutoCAD 的系统变量是开放的,可以依据提供的条件进行修改,用来设置新的绘图环 境。用户还可以创建自己的文字字体、线型、阴影线图案,并可保存样式形成新的标准库文 件。 6.具有网络功能

第7章 autoCAD二次开发

第7章 autoCAD二次开发

创建对齐标注 Dim objDim As AcadDimAligned Set objDim = ThisDrawing.ModelSpace.AddDimAligned(ExtLine1Point, ExtLine2Point, textPostion) 创建转角标注 Dim objDim As AcadDimRotated Set objDim = ThisDrawing.ModelSpace.AddDimRotated(ExtLine1Point, ExtLine2Point, dimLinePostion, rotationAngle) *.AddDimRadial(centerPoint,angle,radius)
2 创建和编辑二维图形对象
说明: Dim a, b as Double Dim a as Double, b as Double
2 创建和编辑二维图形对象
2 圆和圆弧 • 方法:AddCircle 和AddArc 方法: • AddCircle (圆心,半径) 圆心,半径) • AddArc(圆心,半径,起始和终值角) AddArc(圆心,半径,起始和终值角) • AddCircle(centerPoint,radius) AddCircle(centerPoint,radius) • AddArc(centerPoint,radius,startAngle,endAngle)
1概述
大部分的集合对象都是通过Document对象访问, 大部分的集合对象都是通过Document对象访问,对于每一个 Document对象访问 集合对象,Document对象都有一个相应的特性 对象都有一个相应的特性。 集合对象,Document对象都有一个相应的特性。 如:通过定义变量访问集合对象 Dim objLayer As AcadLayer Dim layerCollection As AcadLayers Set layerCollection = yers layerCollection.Add(“中心线 中心线”); Set objLayer = layerCollection.Add(“中心线”); “细实线 细实线” = “细实线”

zwcad二次开发文档简易指南

zwcad二次开发文档简易指南

一.概述 (2)二.使用SDS进行二次开发 (2)SDS和ADS接口的主要差异 (2)编译SDS应用程序 (4)三.使用AUTOLISP进行开发 (4)四.使用VBA/VB进行开发 (5)五.ZWCAD的定制 (5)屏幕菜单及其定制 (5)I MAGE菜单(图标菜单)的定制 (7)PROFILE的定制 (9)ZWCAD.LSP和ZWCAD.SDS文件的作用和定制 (10)别名的定制 (11)其他定制 (11)(内部参考)一.概述在zwcad上可以通过二次开发来定制和扩展zwcad的功能.当前的zwcad提供AutoLISP,SDS以及Visual Basic for Applications (VBA,COM)开发包进行二次开发.在zwcad上,你也可以使用许多原来在autocad平台上开发的应用程序.例如使用autolisp编制的程序可以在几乎不用修改的情况下移植到zwcad平台.Zwcad还完整支持AutoCAD Dialog Control (DCL)语言,不需修改. 目前的zwcad还不支持Object ARX,DBX.二.使用SDS进行二次开发SDS 是一个和ADS® (AutoCAD® Development System)开发包相兼容的C/C++语言接口.大部分ads应用程序经过再编译可以直接应用于zwcad。

中望建筑就是用sds sdk开发的。

下面所述内容均以ads开发包为比较对象,以ads开发程序员为讲解对象.具体的sds函数说明请参考帮助文档.SDS和ADS接口的主要差异SDS和ADS的接口差异可以直接从sds.h和ads.h这两个头文件的比较得出.主要差异如下.1.Sds开发包的接口函数以sds_为前缀.Ads 开发包的接口函数主要以ads_, acad_, and acrx_等为前缀.在sds.h中提供了移植ads用的宏例如#define ads_entdel sds_entdel这样只需要在ads应用程序源代码中将#include “ads.h” 以#include “sds.h”替换,并将要链接的库文件改为sds.lib编译链接即可完成从ads到sds的移植.2.sds开发包主要扩展的函数#if defined(_WINDOWS_)HDC *sds_getviewhdc(void);int sds_getrgbvalue(int nColor); RGBHPALETTE sds_getpalette(void);HWND sds_getviewhwnd(void);HWND sds_getmainhwnd(void);int sds_drawLinePattern(HDC h_dc, RECT rect, struct sds_resbuf *lineParam);#endifint sds_setcallbackfunc(int (*cbfnptr)(int flag,void *arg1,void *arg2,void *arg3)); // Command Start/End.#define SDS_CBCMDBEGIN 0// arg1="command name" cast as (char *)// Callback return RTERROR will cause command to not be called.#define SDS_CBCMDEND 1// arg1="command name" cast as (char *)// Return code does not matter.// Mouse movements and Mouse buttons.#define SDS_CBMOUSEMOVE 2 // arg1=X pixel arg2=Y pixel#define SDS_CBLBUTTONDN 3 // arg1=X pixel arg2=Y pixel#define SDS_CBLBUTTONUP 4 // arg1=X pixel arg2=Y pixel#define SDS_CBLBUTTONDBLCLK 5 // arg1=X pixel arg2=Y pixel#define SDS_CBRBUTTONDN 6 // arg1=X pixel arg2=Y pixel#define SDS_CBRBUTTONUP 7 // arg1=X pixel arg2=Y pixel ……etc.//进度条的控制.int sds_progresspercent(int iPercentDone);int sds_progressstart(void);int sds_progressstop(void);//加载别名文件--pgp文件int sds_readaliasfile(char *szAliasFile);//不同于sds_printf,这个函数可以发送命令,例如”LINE”int sds_sendmessage(char *szCommandMsg);//在绘制窗口和命令历史窗口间切换焦点.int sds_swapscreen();//组操作int sds_createGroup(const char* pName, const char* pDescription, int selectable, int unnamed,sds_name sdsGroupName);int sds_modifyGroup(const char* pNewName, const char* pNewDescription, int selectable, sds_name sdsGroupName);int sds_addSSToGroup(sds_name ss, sds_name sdsGroupName);int sds_removeSSFromGroup(sds_name ss, sds_name sdsGroupName);int sds_getSSFromGroup(sds_name ss, sds_name sdsGroupName);int sds_findGroup(const char* pName, sds_name sdsGroupName);int sds_findGroupByEnt(sds_name entity, sds_name ssGroups);//求实体交点int sds_intersect(sds_name entFirst, sds_name entSecond, struct sds_resbuf **ptList);//实体所占矩形空间void sds_entextent(sds_name ename, sds_point minPoint, sds_point maxPoint);SDS不支持的ads函数主要有以下几个int ads_ssGetKwordCallbackPtr(struct resbuf* (**pFunc)(const char*));int ads_ssSetKwordCallbackPtr(struct resbuf* (*pFunc)(const char*));int ads_ssGetOtherCallbackPtr(struct resbuf* (**pFunc)(const char*));int ads_ssSetOtherCallbackPtr(struct resbuf* (*pFunc)(const char*));adsw_acadMainWnd,//sds中使用HWND sds_getmainhwnd(void);and adsw_acadDocWnd. //sds中使用HWND sds_getviewhwnd(void);注意一个函数SDS: int sds_dictdel(const sds_name nmDict, const char *szDelThis);ADS: int ads_dictremove (const ads_name dictname, const char* symname);编译SDS应用程序一般使用VC编译环境主要做好sds头文件和库文件的路径设置,然后#include “sds.h”#pragma comment( lib,sds ) 或设置链接引用到sds.libOK三.使用AutoLISP进行开发zwcad提供了调用Autolisp程序的接口,可以将大部分的lisp程序正常执行,但需要注意以下事项1.最为重要的一点。

zwcad二次开发文档简易指南

zwcad二次开发文档简易指南

一.概述 (2)二.使用SDS进行二次开发 (2)SDS和ADS接口的主要差异 (2)编译SDS应用程序 (4)三.使用AUTOLISP进行开发 (4)四.使用VBA/VB进行开发 (5)五.ZWCAD的定制 (5)屏幕菜单及其定制 (5)I MAGE菜单(图标菜单)的定制 (7)PROFILE的定制 (9)ZWCAD.LSP和ZWCAD.SDS文件的作用和定制 (10)别名的定制 (11)其他定制 (11)(内部参考)一.概述在zwcad上可以通过二次开发来定制和扩展zwcad的功能.当前的zwcad提供AutoLISP,SDS以及Visual Basic for Applications (VBA,COM)开发包进行二次开发.在zwcad上,你也可以使用许多原来在autocad平台上开发的应用程序.例如使用autolisp编制的程序可以在几乎不用修改的情况下移植到zwcad平台.Zwcad还完整支持AutoCAD Dialog Control (DCL)语言,不需修改. 目前的zwcad还不支持Object ARX,DBX.二.使用SDS进行二次开发SDS 是一个和ADS® (AutoCAD® Development System)开发包相兼容的C/C++语言接口.大部分ads应用程序经过再编译可以直接应用于zwcad。

中望建筑就是用sds sdk开发的。

下面所述内容均以ads开发包为比较对象,以ads开发程序员为讲解对象.具体的sds函数说明请参考帮助文档.SDS和ADS接口的主要差异SDS和ADS的接口差异可以直接从sds.h和ads.h这两个头文件的比较得出.主要差异如下.1.Sds开发包的接口函数以sds_为前缀.Ads 开发包的接口函数主要以ads_, acad_, and acrx_等为前缀.在sds.h中提供了移植ads用的宏例如#define ads_entdel sds_entdel这样只需要在ads应用程序源代码中将#include “ads.h” 以#include “sds.h”替换,并将要链接的库文件改为sds.lib编译链接即可完成从ads到sds的移植.2.sds开发包主要扩展的函数#if defined(_WINDOWS_)HDC *sds_getviewhdc(void);int sds_getrgbvalue(int nColor); RGBHPALETTE sds_getpalette(void);HWND sds_getviewhwnd(void);HWND sds_getmainhwnd(void);int sds_drawLinePattern(HDC h_dc, RECT rect, struct sds_resbuf *lineParam);#endifint sds_setcallbackfunc(int (*cbfnptr)(int flag,void *arg1,void *arg2,void *arg3)); // Command Start/End.#define SDS_CBCMDBEGIN 0// arg1="command name" cast as (char *)// Callback return RTERROR will cause command to not be called.#define SDS_CBCMDEND 1// arg1="command name" cast as (char *)// Return code does not matter.// Mouse movements and Mouse buttons.#define SDS_CBMOUSEMOVE 2 // arg1=X pixel arg2=Y pixel#define SDS_CBLBUTTONDN 3 // arg1=X pixel arg2=Y pixel#define SDS_CBLBUTTONUP 4 // arg1=X pixel arg2=Y pixel#define SDS_CBLBUTTONDBLCLK 5 // arg1=X pixel arg2=Y pixel#define SDS_CBRBUTTONDN 6 // arg1=X pixel arg2=Y pixel#define SDS_CBRBUTTONUP 7 // arg1=X pixel arg2=Y pixel ……etc.//进度条的控制.int sds_progresspercent(int iPercentDone);int sds_progressstart(void);int sds_progressstop(void);//加载别名文件--pgp文件int sds_readaliasfile(char *szAliasFile);//不同于sds_printf,这个函数可以发送命令,例如”LINE”int sds_sendmessage(char *szCommandMsg);//在绘制窗口和命令历史窗口间切换焦点.int sds_swapscreen();//组操作int sds_createGroup(const char* pName, const char* pDescription, int selectable, int unnamed,sds_name sdsGroupName);int sds_modifyGroup(const char* pNewName, const char* pNewDescription, int selectable, sds_name sdsGroupName);int sds_addSSToGroup(sds_name ss, sds_name sdsGroupName);int sds_removeSSFromGroup(sds_name ss, sds_name sdsGroupName);int sds_getSSFromGroup(sds_name ss, sds_name sdsGroupName);int sds_findGroup(const char* pName, sds_name sdsGroupName);int sds_findGroupByEnt(sds_name entity, sds_name ssGroups);//求实体交点int sds_intersect(sds_name entFirst, sds_name entSecond, struct sds_resbuf **ptList);//实体所占矩形空间void sds_entextent(sds_name ename, sds_point minPoint, sds_point maxPoint);SDS不支持的ads函数主要有以下几个int ads_ssGetKwordCallbackPtr(struct resbuf* (**pFunc)(const char*));int ads_ssSetKwordCallbackPtr(struct resbuf* (*pFunc)(const char*));int ads_ssGetOtherCallbackPtr(struct resbuf* (**pFunc)(const char*));int ads_ssSetOtherCallbackPtr(struct resbuf* (*pFunc)(const char*));adsw_acadMainWnd,//sds中使用HWND sds_getmainhwnd(void);and adsw_acadDocWnd. //sds中使用HWND sds_getviewhwnd(void);注意一个函数SDS: int sds_dictdel(const sds_name nmDict, const char *szDelThis);ADS: int ads_dictremove (const ads_name dictname, const char* symname);编译SDS应用程序一般使用VC编译环境主要做好sds头文件和库文件的路径设置,然后#include “sds.h”#pragma comment( lib,sds ) 或设置链接引用到sds.libOK三.使用AutoLISP进行开发zwcad提供了调用Autolisp程序的接口,可以将大部分的lisp程序正常执行,但需要注意以下事项1.最为重要的一点。

AutoCAD二次开发

AutoCAD二次开发

例:创建过三点(1,1)、(3,2)、(4,9) 的轻便多段线。 Dim Dx As AcadLWPolyline Dim Po(5) As Double Po(0)=1:Po(1)=1 Po(2)=3: Po(3)=2 Po(4)=4: Po(5)=9 Set Dx=AcadApp.ActiveDocument.ModelSpace.AddLigh tWeightPolyline(Po) Acadapp.ZoomExtents AcadApp.ZoomAll
AutoCAD对象根据它们的不同功能,具有一定 的隶属关系。
Application(应用程序)
Preferences(系统配置)
Documents(文档)
Blocks(块) ModelSpace(模型空间) PaperSpace(图纸空间) Utility(使用程序) MenuBar MenuGroups 访问菜单和工具条
§5 接收用户输入点
用ActivaDocument.Utility 的GetPoint、GetDistance、 GetAngle函数可以接收用户输入的点坐标、半径、起始 角度和终止角度。 ptcen = acadapp.ActiveDocument.Utility.GetPoint(, “指定圆心") ra = acadapp.ActiveDocument.Utility.GetDistance(, “输入半径") stang = acadapp.ActiveDocument.Utility.GetAngle(, “输入起始角度") enang = acadapp.ActiveDocument.Utility.GetAngle(, “输入终止角度")

pythoncad二次开发的书

pythoncad二次开发的书

《PythonCAD二次开发的书》是一本针对PythonCAD软件进行二次开发的指导书,通过本书,读者可以了解PythonCAD的基本原理和功能,并学会如何在此基础上进行二次开发,实现个性化定制和扩展功能。

本书主要包括以下几个方面的内容:1. PythonCAD基础知识2. PythonCAD的二次开发环境搭建3. PythonCAD的二次开发实践4. PythonCAD二次开发案例分析让我们从PythonCAD的基础知识开始。

PythonCAD是一个开源的CAD软件,它采用Python作为主要的开发语言。

它具有易学易用的特点,使得用户能够快速上手并进行相关的开发工作。

在本书中,会详细介绍PythonCAD的基本原理、主要功能和相关的开发文档,帮助读者对PythonCAD有一个全面的了解。

接下来,本书将介绍PythonCAD的二次开发环境搭建。

在本章节中,我们将详细介绍如何在不同的操作系统评台上搭建PythonCAD的二次开发环境,包括所需的软件工具、配置步骤以及常见的问题解决方法。

通过本章节的学习,读者可以顺利搭建起PythonCAD的二次开发环境,为后续的学习打下良好的基础。

本书将介绍PythonCAD的二次开发实践。

在这一部分,我们将以实际的案例为基础,结合PythonCAD的API文档,介绍如何进行PythonCAD的二次开发。

我们将以常见的二次开发需求为例,比如定制特定的工具、实现特定的功能等,通过代码编写和调试,帮助读者掌握PythonCAD的二次开发技巧和方法。

本书将通过PythonCAD二次开发案例分析,展示一些实际的应用场景。

在这一章节中,我们将选取一些具有代表性的PythonCAD二次开发案例进行分析和讨论,通过对这些案例的深入剖析,帮助读者更好地理解PythonCAD的二次开发思路和方法,激发读者的创造力和实践能力。

以pythonCAD二次开发的书为主题,带我去探索这个领域的奥秘,引导我如何学习这本书,实践其中的内容,并总结回顾其中的知识。

Autocad二次开发教程

Autocad二次开发教程

第一课:入门1.为什么要写这个教程市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂。

其实我转行已经好几年了,而且手艺也慢慢生疏了,写个教程对自己来说也是一次复习。

2.什么是Autocad VBA?VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。

3、VBA有多难?相信大家都知道Basic是的含义。

应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。

4、怎样学习VBA?介绍大家一个学习公式:信心+恒心=开心。

仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。

本教程将陆续发布在CAD世界论坛上,您不需要付费就可以学习。

本作者在此郑重承诺:关于本教程中有任何疑问,可以跟贴提问,只要有时间,本人一定会耐心解答。

我不会发到任何人的邮箱中,您自己在论坛上找就可以了,请不要再向我索要这份教程。

5、现在我们开始编写第一个程序:画一百个同心圆第一步:复制下面的红色代码第二步:在模型空间按快捷键Alt+F8,出现宏窗口第三步:在宏名称中填写C100,点“创建”、“确定”第四步:在Sub c100()和End Sub之间粘贴代码第五步:回到模型空间,再次按Alt+F8,点击“运行”Sub c100()Dim cc(0 To 2) As Double '声明坐标变量cc(0) = 1000 '定义圆心座标cc(1) = 1000cc(2) = 0For i = 1 To 1000 Step 10 '开始循环Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆Next iEnd Sub也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。

CAD二次开发课程设计说明书

CAD二次开发课程设计说明书

CAD二次开发课程设计说明书重庆理工大学应用技术学院设计题目:带轮参数化绘图模块开发班级: 108214701学号: 10821470152姓名: 张昂指导老师: 林昌华实训时间:2011.6.20 ~2011.6.26前言本次CAD二次开发课程设计的任务是对带轮参数化绘图模块的开发。

带轮在机械传动系统中是一种常见的传动件,在产品开发设计中常常需要绘制带轮零件图。

为提高带轮的设计质量和效率,降低设计成本,其重要途径就是开发带轮参数化绘图软件。

AutoCAD使用AutoLISP程序和源代码,解决绘图实际问题。

通过二次开发的学习可以更简洁、迅速的进行机械行业的运作。

减轻了大量的工作量。

通过本次实训可以提高对CAD二次开发的熟练程度,而且训练如何利用所学的知识解决实际生产中遇到的问题,让我们看到了CAD二次开发的实用性。

本次课程设计的程序放在电脑D盘目录下运行。

1目录第1章分析带轮结构特点,确定其主要参数 3第2章带轮的参数化绘图函数 72.1 公共调用程序 7 2.2实心式带轮参数化绘图函数 8 2.3腹板式带轮参数化绘图函数 10 2.4孔板式带轮参数化绘图函数 12 第3章带轮参数输入的对话框 14 3.1实心式带轮参数输入的对话框 14 3.2腹板式带轮参数输入的对话框 15 3.3孔板式带轮参数输入的对话框 16 第4章局部菜单的编制 17第5章带轮驱动程序及绘图程序的实现 185.1实心式带轮的驱动程序 18 5.2腹板式带轮的驱动程序 18 5.3孔板式带轮的驱动程序 19 5.4各种带轮绘制程序的调试和运行 20 课程设计小结 25 参考文献 252第1章分析带轮结构特点,确定其主要参数1(V带轮设计要求对带轮的主要要求是质量小且分布均匀、工艺性好、与带接触的工作表面加工精度要高,以减少带的磨损。

转速高时要进行动平衡,对于铸造和焊接带轮的内应力要小。

2(结构设计带轮由轮缘、腹板(轮辐)和轮毂三部分组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VBA 开发手册第一章 VBA 入门了解嵌入和全局 VBA 工程AutoCAD VBA 工程是代码模块、类模块和窗体的集合,它们组合起来以执行给予的功能。

工程可保存在 AutoCAD 图形中,或作为独立的文件保存。

嵌入工程是保存在 AutoCAD 图形中。

当包含有这些工程的图形中 AutoCAD 打开时,他们可以自动地装载,这种方法可以很方便地分发工程给用户。

嵌入工程也有它的极限,它不能打开或关闭 AutoCAD图形,那是由于他们的函数只存在于工程所在的文档中。

使用嵌入工程不需要在运行程序之前查找并装载工程文件。

举个含有嵌入工程的图形的例子,当图形打开时,一个时间日志被触发。

通过这样一个宏的应用可以登记并记录用户在该图形上所花费的时间。

这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个很好的例子。

全局工程保存在独立的文件中,它更加通用,因为他们能在 AutoCAD 图形中运行,也能打开、关闭 AutoCAD 图形,但它在图形打开时不能自动装载。

用户必须知道他们所需要的宏包含在哪个工程文件中。

然而,全局工程非常容易与其它使用者共享,它可以将通用的宏做为很好的库而存在。

举个例子,你保存在一个工程文件中的宏是有关多个图形的材料清单。

这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。

在特定的时间,用户可以在同个 AutoCAD 进程中同时装载嵌入工程和全局工程。

AutoCAD VBA 工程与 Visual Basic 工程在二进制结构上是不兼容的。

然而,其中的窗体、模块和类可以通过在 VBA IDE 环境中使用输入和输出 VBA 命令来在工程之间进行转换。

关于 VBA IDE 的更多信息,可以查看“用 VBA IDE 编辑工程”用 VBA 管理器组织工程你可以使用 VBA 管理器查看装载在当前 AutoCAD 进程的所有 VBA 工程。

VBA 管理器一个AutoCAD 工具,它允许你装载、卸载、保存、创建、嵌入和分离 VBA 工程。

打开VBA 管理器的步骤:1. 在工具菜单中选择宏-VBA 管理器。

2. 或者,在 AutoCAD 中调用 VBAMAN 命令。

本节的内容:装载现存的工程当你装载工程到AutoCAD 中,所有的公用的子程序(也称为宏)都可以使用。

嵌入于图形中的工程在图形打开时就被装载。

保存在DVB 文件中的工程必须单独装载。

装载现存的VBA 工程文件1. 在 VBA 管理器中,使用装载项可弹出打开VBA 工程对话框。

2. 在打开 VBA 工程对话框中,选择打开的工程文件。

该VBA 工程对话框允许你打开有效的DVB 文件。

如果你尝试打开不同类型的文件,你将会得到出错信息。

3. 选择打开。

本章将为你介绍 AutoCADVBA 工程及VBA 交互开发环境(VBA IDE)。

尽管大部分VBA 环境在行为上都是相似的,但AutoCADVBA IDE 还是有些独有的特性。

在AutoCAD 中还有些相关的命令可以用于装载工程、运行工程,或打开VBA IDE 环境。

本章将概要介绍VBA 工程、VBA 命令和VBA IDE 的使用。

你也可以使用VBALOAD 命令直接出现打开VBA 工程对话框以装载工程文件。

另外,当工程装载后,该工程所引用的其它工程将会自动地装载。

还有,AutoCAD 在启动时将自动装载名称为acad.dvb 的工程文件。

相关主题:病毒警告每次当你装载工程时,你会看到启用或禁用工程中的代码以阻止宏病毒的警告框。

如果你选用启用代码,如果工程中含有宏病毒时病毒可能会发作。

如果你禁用代码,工程同样会装载,但工程中的所有代码将不能运行。

想查看更多关于病毒保护的信息,请参考“设置工程选项”。

卸载工程 卸载工程以释放内存并保持装载的工程列表的长度以方便管理。

你不能卸载嵌入工程或由其它已装载工程所引用的工程。

卸载 VBA 工程的操作1. 在 VBA 管理器中,选择要卸载的工程。

2. 选择卸载。

或者,使用VBAUNLOAD 命令,它将提示你所要卸载的工程。

嵌入工程到图形中 当你嵌入一个工程时,你是将工程的一个副本置于图形数据库中。

无论何时,当所包含工程的图形打开或关闭时,工程会同时被装载和被卸载。

一个图形只有在同一时间包含一个嵌入工程。

如果图形已经包含有一个嵌入工程,你必须在同样地入其它工程之前将该嵌入工程分离出。

嵌入工程到AutoCAD 图形中的操作1. 打开 VBA 管理器并选择你所要嵌入的工程。

2. 选择嵌入。

从图形中分离工程 当你分离工程时,其实是将工程从图形数据库中删除,同时会提示你将工程保存为外部的工程文件。

如果你没有将其保存为外部工程文件,该工程的数据将会删除。

从AutoCAD 图形中分离工程的操作1. 打开 VBA 管理器并选择要从图形中分离的工程。

2. 选择分离。

3. 如果你想保存工程信息为外部工程文件,可以在“你是否想在删除VBA 工程前将其输出?”的提示下选择“是”,此时会显示另存为对话框,允许你保存文件。

如果你不想保存该工程信息到外部文件,可以在“你是否想在删除VBA 工程前将其输出?”的提示下选择“否”,此时工程信息将在没有保存的情况下从图形中删除。

创建新的工程新的工程将作为未保存的全局工程被创建。

当工程创建时,你可以将工程嵌入图形中,或将其保存为工程文件。

创建新的VBA 工程的操作1. 打开 VBA 管理器。

2. 选择新建。

新创建的工程将使用默认的工程名称ACADproject。

你必须到VBA IDE 中才可以更改工程名称。

查看更多关于命名工程的信息,请参考“命名工程”。

保存嵌入工程嵌入工程是在图形保存时同时保存的。

全局工程必须使用 VBA 管理器或VBA IDE 进行保存。

使用VBA 管理器保存工程的操作1. 打开 VBA 管理器并选择要保存的工程。

2. 选择另存为,此时另存为对话框打开。

3. 选择用于保存工程的文件。

4. 选择保存处理宏与设置 VBA 工程选项一样,宏对话框允许你运行、编辑、删除和创建宏。

宏是公用(可执行)的子程序。

每一工程通常至少一个宏。

在对话框中显示的是所有在有效范围内的宏名称。

你可通过下拉列表来改变有效范围。

该列表指定所要显示的宏所在的工程或图形。

你可在以下列表内容选择所要显示宏范围所有图形和工程 所有图形 所有工程在当前所打开的单独图形 在当前所装载的单独工程通过限制有效范围你可控制显示在列表中的宏名称的数量。

它可帮助你注意到当前有多少宏装载到图形中或指定工程中有多少宏。

本节内容:运行宏 编辑宏 逐语句运行宏 创建新的宏 删除宏 设置工程选项运行宏运行宏就是在当前AutoCAD 进程中执行宏代码。

当前活动图形指的是当宏执行开始时处于打开并处理激活状态。

所有在全局工程的宏中所涉及的ThisDrawing 对象将指向当前活动图形。

在嵌入工程中,ThisDrawing 对象通常指向嵌入该宏的图形。

编辑宏 编辑宏将打开VBA IDE 并打开所选定宏的代码窗口。

详细的介绍请参考“用VBAIDE 编辑工程”。

逐语句运行宏 逐语句运行宏指的是开始运行宏并在第一行代码时暂停。

VBAIDE 也随之打开所选定的宏的代码窗口并高亮显示所执行宏所在的行。

创建新的宏 你可以创建一个空的新宏。

如果所指定宏的名称已经存在,系统将提示你是否替换现在的宏。

如果你在提示下选择“是”,则现在的宏代码将被删除,而一个新的而没有内容的宏也会以指定名称而创建。

如果你在提示下选择“否”,这时会返回宏对话框以输入另外的宏名称。

如果你在提示下选择“取消”,宏对话框将消失,宏也没有创建。

打开宏对话框的操作1. 从工具菜单中选择宏-宏。

2. 或在 AutoCAD 中调用VBARUN 命令。

运行宏的操作1. 打开宏对话框并选择要运行的宏。

2. 选择运行。

编辑宏的操作1. 打开宏对话框并选择要编辑的宏。

2. 选择编辑。

逐语句运行宏的操作1. 在宏对话框中,选择要逐语句运行的宏。

2. 选择逐语句。

创建新宏的操作1. 打开宏对话框并输入新宏的名称。

2. 在宏位置下拉列表中选择所创建宏所要存在的位置。

3. 选择创建。

删除宏 你可以从工程中删除宏删除宏的操作1. 打开宏对话框并选择要删除的宏2. 选择删除。

系统会提示你是否确认删除。

3. 在提示下,选择“是”而删除宏,或者选择“否”以取消删除的操作。

设置工程选项 在AutoCAD VBA 工程中可以设置三个选项:启用自动嵌入出错时允许中断启用宏病毒保护设置AutoCAD VBA 工程选项的操作1. 从工具菜单中选择宏-宏以打开VBA 宏对话框。

2. 从 VBA 宏对话框中,选择选项以打开选项对话框。

3. 从选项对话框中,选择你所要设置的选项。

4. 选择确定。

本节内容:启用自动嵌入 出错时允许中断 启用宏病毒保护启用自动嵌入 自动嵌入特性将在打开图形时自动为所有图形创建嵌入的 VBA 工程。

出错时允许中断在遇到错误时允许VBA 进入中断模式。

中断模式是在交互开发环境中暂时挂起程序的执行。

在中断模式中,你可以检查、调试、复位、跳过或继续程序的执行。

当该选项启用时,在执行VBA 宏的过程中如发现的未处理的错误,将会挂起执行的宏并在VBAIDE 中显示宏的出错点。

当该选项禁用时,当执行VBA 宏的过程中如发现出错时,将出现错误警告提示框,然后结束宏的执行。

启用宏病毒保护病毒防护机制将在你打开可能含有宏病毒的图形时显示内建的警告信息。

用VBA IDE 编辑工程当工程装载到 AutoCAD 后,你可以使用VBA 交互开发环境编辑其代码、窗体及进行引用。

你也可以在VBAIDE 中调试和运行工程。

本节内容:打开VBA IDE 查看工程信息 定义工程的部件输入现存的部件 编辑部件 运行宏命名工程 保存工程 引用其它VBA 工程 设置VBA IDE 选项IDE 的操作:你可以从命令行或从菜单栏中打开VBA IDE从命令行,可输入VBAIDE。

或从工具菜单,使用宏-VisualBasic编辑器。

在AutoCAD 启动时自动打开VBA IDE 的操作:如果你想在每次开始AutoCAD 时自动打开VBA IDE,你必须在acad.rx 文件中包含以下行:acadvba.arx查看工程信息VBA IDE 包含名称为工程窗口的窗口,其中显示了所有已装载VBA 工程的列表。

它也显示包含在工程中的代码、类和窗体模块,还有关联到该工程的文档,在该工程所引用的VBA 工程,以及工程的物理位置(也称路径)。

工程窗口有它自己的工具栏,使用其工具栏可打开不同的工程部件进行编辑。

使用查看代码按钮可打开选定模块的代码。

使 用查看对象按钮可显示如窗体之类的选定对象。

VBA IDE 工程窗口工程窗口默认为可见。

如果不可见,可从查看菜单中选择工程窗口,或按CTRL+R 。

相关文档
最新文档