VB对AutoCAD二次开发案例-编辑版-创建菜单栏_第1页
VB对AutoCAD二次开发案例-编辑版-创建菜单栏_第2页
VB对AutoCAD二次开发案例-编辑版-创建菜单栏_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VBA对AutoCAD二次开发开发背景因为公司电脑的layout设计部门人员不能将元器件转换为 3D,故而每次需要结 构工程师自行将元器件的2D图处理后导入三位软件进展3D绘制,在处理二维工 程图时,出现很多小圆弧, 小圆弧处于不同的层, 依次删除小圆弧很繁琐造成工 作效率低下。故而通过创立一个菜单栏,将删除小圆弧的程序全部放入一个菜单之下, 实现自动化操作操作的流程如下:连接AutoCAD获取AutoCAD的菜单组一创立菜单一创立菜单项一将菜单显示到 AutoCAD中f编辑圆弧删除程序。详尽代码一、在VB中连接AutoCAD的。在VBA中那么可以跳过此步Application 对象是 VB

2、应用程序与 AutoCAD 之间的关键。将 Application 对象与AutoCAD 是为 AutoCAD 二次开发应用程序的第一步工作。当 AutoCAD 运行时, GetObject 函数返回 Application 对象,否那么发生一个错误, 这时 Err 对象的根底属性就会被赋值为一个非零值,可以利用一个错误陷井进展处理。如果 AutoCAD 没有运行,可以使用 CreateObject 函数强迫 AutoCAD 启动。Dim myapp As ObjectOn Error Resume Next如果已有CAD程序翻开,那myapp.Visible = TrueCAD的控制句If

3、Err <> 0 The n么通过开启 cad软件获得CAD的控制句柄Set myapp = CreateObject("Autocad.Applicati on")Set myapp = GetObject(, "AutoCAD.Applicatio n")myapp.Visible = TrueEnd If注意:GetObject(, "AutoCAD.Applicatio n")里面的那个逗号的来源请仔细阅读VB程序帮助里面的解释、创立菜单在 VBA环境下代码如下:Public Sub me nu()Dim my_

4、菜单组 As AcadMenuGroupDim my_弹出式菜单 As AcadPopupMenu集的新菜单Dim my_弹出式菜单项 As AcadPopupMenultemDim ope nM acro As Stri ngSetmy_单出式菜单项 =my_弹出式菜单.AddMenultem(0,"删除圆与圆弧", "-VBARUNDEL_ACR + chr(13)")注: 无论是使用 InsertMenulnMenuBar 方法还是创立一个名为删除圆与圆弧的下拉菜单项.AuIdCAO ApplicatioriMenuBarMenuGrtMips个菜

5、单中厂菜单,需要使用'AutoCAD中就只有PopupMe nus 里面的Meni/vroupPopupMenusPopiipMEnuIPapupMenuttcmAdd方法来创立新的菜单项,需要使用菜单AddMenuItem方法来创立PopupMenu 里面的j_JnpertlnMenuBar方法来加载菜单,被加载菜单都必须要有菜单End Sub-VBARUN DEL_ACR + chr(13)在宏名称之前添加 -VBARUN是因为从 AutoCAD工具栏或菜 单运行VBA宏。Macro特性必须设置为等于-VBARUN file name.dvb!module name.macr on

6、 ame其中,file name 是工程文件的名称,module name是包含要运行的宏的模块名称,而 macro name是要运行的宏的名称。只有在当前AutoCAD任务中未加载文件时,才需要文件名。如果提供了文件名,将会加载该文件。注:图示解释相关名称菜单组,个人认为这些都是工具条Toolbars IToolbarT oalbaitteiTi取得AutoCAD的菜链接F列图中的“文件 “编辑 “视图“帮助这些合起来就是菜单组Menu Group而“文件 “编辑 “视图这些单独描述就是弹出式菜单PopupMe ni再那么,标注底下的“快速标注 “线性 “对齐'等,就是特定菜单里面的

7、菜单项PopupMe nultem赴秀工具也詔“奄口的寵珈HI迭文他門观雪冈isagj祸式 ram 绘閏qi 奋环幅改緒口就2|坯8曹釦nDP /由 f| 理快逵标注gj 価心!1经典;:8B IK I* 9Q.鳴口。|厂|践性心、自动加载 VBA工程文件在 VBA环境下此处不需要用代码来实现,仅仅需要进入 Autocad进展一次设置即可, 操作参见以下图A、点击“工具"选项勇 AutoCAD 2007 C?.LkrS<hcnqkDc?ktop 104 hKBOl605031 OC【去短RE / T01 兄而涓匹宜儆F罔咖iftMQ桂如e:T“更康工貝黨進图标沮呦 *3

8、1;M 蘇L具棺朗V BnW二说込越卫够纠Y初3/渗丨厂 丨竈厌殴.航冕圈I凰3&B选择工具下拉菜单中的'加载应用程序'选项,在弹出的对话框中点击'容'选项104-HKe01605031-OC 大板 -REV-TcoVBA工程文件C在接下来的对话框中点击"添加" ,来添加需要自动加载的四、自动运行 VBA工程文件中自己设置的宏文件在VBA环境下,本例中的宏名称menu首先介绍一下 Autocad帮助文件中关于自动运行宏文件的说明用户可以自动运行VBA工程文件中的任何宏,方法是从 AutoCAD启动功能 如acad.lsp中使用VBAR

9、UN的命令行版本调用。例如,要自动运行名为 drawline的宏,请先将drawline 宏保存在VBA工程文件中。然后调用记事本 程序新建一个txt文档 并在 文档中中创立或附加下面几行:(defu n S:STARTUP()(comma nd "_-vbaru n" "drawli ne")然后将text文档的文件名包含后缀名改为 acad.lsp将宏命名为AcadStartup,这样在加载VBA时就会自动运行该宏。当加载VBA时,将自动执行acad.dvb 文件中所有名为 AcadStartup 的宏。依据以上信息,结合本例,本文要自动运行的宏名称

10、问menu。操作如下:A、在电脑桌面上,新建一个文本文档,名称为acad.lsp。B双击文件,在文档中写入如下代码,然后保存(defun S:STARTUP()(comma nd "_-vbaru n" "me nu")C 将acad.lsp 放入Autocad安装目录下的 Support文件夹即可五、编写删除圆弧的宏程序在VBA环境下,本例中的宏名称DEL_ACR()初略思路为程序运行过程中,弹出窗体文件,由用户输入需要删除的圆弧的半径围然后创立一个选集,将符合条件的圆弧参加选集,然后执行选集里面的元素删除代码即 可A、首先创立一个窗体对象,其中tex

11、tbox1和textbox2的文本控件用于传递圆弧的半径围Private Sub Comma ndButto n1_Click()厂二_窗体的名称定为"删除元和窗体删除圆弧窗体.Hide'hide在设定号圆弧半径值后,调用End SubPrivate Sub UserFor m_In itialize()TextBox1.Text = 0.01TextBox2.Text = 0.25End SubB 、编写删除圆弧的代码,依次创立选择集名称,设置过滤器规那么。给选集增加对象,遍历选集对象执行删除命令。Public Sub DEL_ACR().窗体显示,用于设置圆弧半径 、一一

12、_一一删除圆弧窗体.ShowOn Error Resume NextDim my_圆弧选择集 As AcadSelectionSetmy_圆弧选择集.DeleteDim FilterType(6) As Integer/创立圆弧选择集。1/ VBA对象浏览器中有Item和Add的详细说明。使用时注意Auotcad对象的层丿Dim FilterData(6) As Varia ntFilterType(0) = -4FilterData(0) = "<AND"FilterType(1) = 0FilterData(1) = "Arc"FilterTy

13、pe (2) = -4FilterData(2)=">="FilterType (3) = 40即 FilterType(2)对应FilterData(2)过滤器参数需要引用 手册?里面的组码值FilterType (4) = -4FilterData (4)="<="FilterType (5) = 40过滤器列表中的逻辑运算符也由FilterType (6) = -4FilterData(6) = "AND>"-4组代码表示,运算符以小于号 开场(<),以大于号完毕(>)。my_ 圆弧选择集.Select On Screen FilterType, FilterDataDim i As In tegerFor i = 0 To my_圆弧选择集.Count - 1使用 for循环函数遍历选择集里面的对象进展删除my_圆弧选择集tem(i).Delete圆弧选择集.DeleteNextmy_End Sub注:在Autocad中选择集删除的方式比照Removeitems方法从选择集中删除一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论