• WAP手机版 RSS订阅 加入收藏  设为首页
AutoCAD

基于VBA的CAD二次开发

时间:2012/3/28 20:16:28   作者:未知   来源:网络文摘   阅读:5522   评论:0

 

大家知道什么是宏吗?
说白它就是VBA过程。
看下面的代码:
Public Sub MacroDemo()
    MsgBox "Hello,Welcome to AutoCAD VBA!"
End Sub
这就是宏。
打开CAD输入命令vbaide回车会出现VBA的编辑界面,双击ThisDrawing在右侧的代码区输入上面的代码。如下图:
基于VBA的CAD二次开发
然后按F5键会出现宏窗口,如下图:
基于VBA的CAD二次开发
点击运行,大家看到什么?
这就是一个最简单的一个用VBA对CAD进行二次开发的程序,也就是宏
基于VBA的CAD二次开发

那什么是VBA呢?VBA就是VB的一个子集它的全称是Visual Basic For Application,它具有VB的大部分功能。
既然我们选择了VBA,我们首先要知道VBA能操作CAD里的哪些对象呢?
打开VBAIDE窗口按下F2键会出现对象浏览器。如下图
基于VBA的CAD二次开发
库选择AutoCAD,这时下面显示的就是CAD为VBA提供的可操作的对象的类了。
这时有的人因没有基础,所以还是一头雾水,别怕,选中一个类图标后按F1,这时会弹出AutoCAD ActiveX and VBA Reference,选择最上面的一个子项Object Model(对象模型),这个就是在CAD里那些对象的关系,如下图:基于VBA的CAD二次开发
如果英文不好的话,可以安装CAD2000,它的这个部分是中文的。为想学好VBA二次开发这个是必需的,而且VBA对Office的二次开发也是这样的。
这个在编程界叫做Active X,包括Active X控件、Active X DLL、和Active X EXE
就好比一个程序为其它程序提供的一个后门一样
下面我就给大家讲一下菜单吧。
因为我们用到的其它公司做CAD二次开发的插件,从直观上首先接触的就是它的菜单,刚开始用的时候就是从它的菜单开始接触的。
我经常用到的做菜单的方法有两种,一种是用CAD的菜单文件,另一种就是用VBA代码直接长成菜单。
我先介绍第一种,CAD的菜单文件
它是文本文件,我们用记事本就可打开并编辑它,或者再重新创建一个
说到这里有的人可能要问了,我应该从何处开始入手呢,要怎样做呢?
别急,CAD本身就有现成的供我们参考,就放在CAD的安装文件夹下的Support文件夹内,或者其它插件的文件夹内,找不到可以按F3搜一下,扩展名分别为.mnu .mns ,mnc
默认的菜单文件是 acad.mnu。原始 ASCII 菜单文件,即用户通常编辑或创建的文件。该文件以查看完整菜单文件的外表特征。
.mnc已编译的菜单文件;一种二进制文件,包含用于定义菜单或其他界面元素的功能及外观的命令字符串和菜单语法。首次加载 MNU 文件时,AutoCAD 将编译此文件。
.mns源菜单文件;一种与 MNU 文件相同的 ASCII 文件,但是不包含注释或特殊格式。每次菜单文件的内容被更改时,AutoCAD 将修改源菜单文件。
.mnr菜单资源文件;一种二进制文件,包含由菜单或其他界面元素使用的位图。AutoCAD 每次编译 MNC 文件时,均生成菜单资源文件。
.mnt菜单资源文件。仅在 MNR 文件无效(例如,只读)时生成该文件。
.mnl菜单 LISP 文件;包含菜单文件使用的 AutoLISP 表达式。当加载与菜单 LISP 文件具有相同文件名的菜单文件时,AutoCAD 会将菜单 LISP 文件加载至内存。


免责申明:CAD之家旨在相互学习交流,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!
邮箱:qm198794@gmail.com Copyright 2008-2022 CAD之家网 湘ICP备17006806号