AutoCAD_VBA二次开发

上传人:公**** 文档编号:496247435 上传时间:2022-12-25 格式:DOC 页数:17 大小:510KB
返回 下载 相关 举报
AutoCAD_VBA二次开发_第1页
第1页 / 共17页
AutoCAD_VBA二次开发_第2页
第2页 / 共17页
AutoCAD_VBA二次开发_第3页
第3页 / 共17页
AutoCAD_VBA二次开发_第4页
第4页 / 共17页
AutoCAD_VBA二次开发_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《AutoCAD_VBA二次开发》由会员分享,可在线阅读,更多相关《AutoCAD_VBA二次开发(17页珍藏版)》请在金锄头文库上搜索。

1、第11章 AutoCAD VBA二次开发自从1986年AutoLISP作为第一个用于AutoCAD二次开发的编程语言被引入到AutoCAD中,从此许多计算机软件开发商和用户用AutoLISP编写了数以万计的实用系统和应用程序。还有大量的程序是利用AutoCAD的外部文件(Script)对AutoCAD进行二次开发。对AutoCAD来说这无疑是一笔巨大的资源和财富,也是其赖以发展的基础之一。11.1 概述11.1.1 AutoCAD中实现ActiveXAutoCAD ActiveX使用户能够从AutoCAD的内部或外部以编程方式来操作AutoCAD,它是通过将AutoCAD对象显示到“外部世界”

2、来做到这一点的。一旦这些对象被显示,许多不同的编程语言和环境以及其他应用程序(例如Microsoft Office中的Word VBA或Excel VBA)就可以访问它们。在AutoCAD中实现ActiveX接口有两大优点:(1) 更多的编程环境可以编程访问AutoCAD图形。在ActiveX Automation出现以前,开发人员只能使用AutoLISP或C+接口。(2) 与其他Windows应用程序(例如Microsoft Office中的Excel和Word)共享数据变得更加容易。对象是所有ActiveX应用程序的主要构造块,每一个显示的对象均精确代表一个AutoCAD组件,AutoCA

3、D ActiveX接口中有许多不同类型的对象。例如,直线、圆弧、文字和标注等图形对象是对象;线型与标注样式等样式设置是对象;图层、编组和块等组织结构是对象;视图与视口等图形显示是对象;甚至图形、AutoCAD应用程序本身也是对象。11.1.2 AutoCAD中的VBA VBA为Visual Basic for Application的缩写。AutoCAD中的VBA是指必须依赖于已有的AutoCAD应用程序才能运行的Visual Basic程序。Microsoft VBA是一个面向对象的编程环境,可提供类似Visual Basic(VB)的丰富开发功能。VBA和VB的主要差别是VBA和AutoC

4、AD在同一进程空间中运行,提供的是具有AutoCAD智能的、非常快速的编程环境。VBA也向其他支持VBA的应用程序提供应用程序集成,这就意味着AutoCAD(使用其他应用程序对象库)可以是如Microsoft Word或Excel之类的其他应用程序的Automation控制程序。在AutoCAD中实现VBA有四大优点:(1) Visual Basic编程环境易于学习和使用。(2) VBA可与AutoCAD在同一进程空间中运行,这使程序执行得非常快。(3) 对话框的构造快速而有效。这使开发人员可以构造原型应用程序并迅速收到设计的反馈。(4) 工程可以是独立的,也可以嵌入到图形中。这样就为开发人员

5、提供了非常灵活的方式来发布他们的应用程序。新工程会被创建为未保存的全局工程。创建完成后,可以将它嵌入到图形中或保存到工程文件中。11.2 VBA基础11.2.1 VBA工程AutoCAD VBA工程是由许多程序模块、类模块和窗体组成的集合,他们同时运行即可完成指定的功能。VBA工程可以保存于AutoCAD图形文件内部,称为内嵌VBA工程;亦可保存为独立的工程,称为全局VBA工程,以*.dvb文件格式保存。对于内嵌VBA工程,当打开包含该工程的AutoCAD图形文件时,它将被自动加载。因此,在运行内嵌VBA工程程序之前,其用户不须在文件夹中去寻找工程文件并加载该工程,使得工程管理更加方便。全局V

6、BA工程的功能较多。全局工程可在任何AutoCAD图形中运行,亦可在工程中打开或关闭AutoCAD图形。全局工程容易与其他用户共享,且可制作成共享的宏 宏是一个可执行的应用子程序,每个VBA工程至少包含一个宏。资源库,因此应用VBA开发通用应用程序时,应将其保存为全局工程。但全局工程也有一些缺点,它不会随AutoCAD图形文件的打开而自动加载。所以,用户在运行全局工程程序之前须要知道哪个工程文件中包含了所需的宏,然后加载该工程文件,最后才能执行相应的宏。11.2.2 VBA管理器在当前AutoCAD进程中加载的所有VBA工程均可用VBA管理器来管理,亦可用它来新建、保存、加载、卸载、嵌入或提取

7、工程。“VBA管理器”对话框如图11.1所示。启动“VBA管理器”对话框的命令调用方法为:命令行:VBARUN菜单栏:【工具】【宏】【VBA管理器】与VBA应用程序开发、管理相关的下拉菜单如图11.2所示。图11.1 “VBA管理器”对话框图11.2 与VBA应用程序开发、管理相关的下拉菜单1. 创建新VBA工程创建新VBA工程的步骤如下:(1) 打开“VBA管理器”对话框。(2) 选择“新建”。新工程将以默认的名称“ACADProject”创建。如要更改工程名称,必须进入“Visual Basic编辑器”中,在“工程属性”窗口中更名。其操作方法步骤如下:(1) 单击“VBA管理器”中的“Vi

8、sual Basic编辑器”按钮(如图11.1所示)或用菜单选择“Visual Basic编辑器”(如图11.2所示),打开“Microsoft Visual Basic”,如图11.3所示。(2) 在VB的“工程资源管理器”选中“ACADProject(Global1)”,单击右键,在弹出菜单中选择“ACADProject属性”选项,打开“工程属性”对话框,在“工程名称”中输入用户欲更改的名称,如图11.4所示。图11.3 Visual Basic编辑器图11.4 “工程属性”对话框2. 保存新VBA工程每次保存图形文件时,都将保存其内嵌工程。而全局工程必须使用VBA管理器或VB编辑器来保存

9、。使用VBA管理器保存工程的步骤:(1) 打开VBA管理器,并选择要保存的工程。(2) 选择“另存为”,将会打开“另存为”对话框。(3) 选择用于保存该工程的文件的名称。(4) 单击“保存”按钮。3. 加载VBA工程将工程加载到AutoCAD图形中时,所有的公用子程序(也称为宏)均为可用程序。每次打开图形时,内嵌在图形中的工程就会被自动加载,而以*.dvb文件格式保存的全局工程必须明确加载方能运行。每次加载工程时,都将自动加载此工程引用的任何其他工程。此外,AutoCAD在启动时会自动加载任何名为acad.dvb的工程文件。加载已有VBA工程文件的步骤如下:(1) 在“VBA管理器”对话框中单

10、击“加载”按钮,弹出“打开VBA工程”对话框,如图11.5所示。图11.5 “打开VBA工程”对话框(2) 在“打开VBA工程”对话框中选择欲加载的工程文件。(3) 单击“打开”按钮,再单击“启用宏”按钮。打开VB编辑器即可查看、编辑或运行该程序。注意:用户在加载工程时,均会显示“禁用宏”或“启用宏”的选项提示,作为防范病毒的提示,如图11.6所示。若启用了带病毒的宏,程序中的病毒会一并运行;若禁用该宏,工程仍可被调用,但不能运行该工程中的任何程序。图11.6 工程加载防范病毒提示提示4. 卸载VBA工程卸载工程可释放内存,并使已加载工程的列表保持在易于管理的长度。但不能卸载内嵌工程或被其他已

11、加载工程所引用的工程。卸载VBA的步骤如下:(1) 在“VBA管理器”对话框中选择欲卸载的工程。(2) 单击“卸载”按钮。11.2.3 VBA IDE IDE为Integrated development environment的缩写,即集成开发环境。在AutoCAD中加载VBA工程后,即可使用VBA交互式开发环境IDE来运行、调试程序或删除错误,亦可在IDE中继续编辑该工程的程序代码、窗体和部件引用等元素。1. 打开VBA IDE可用以下两种方法打开VBA IDE:命令行:VBAIDE菜单栏:【工具】【宏】【Visual Basic编辑器】VBA IDE界面如图11.7所示,在其中可对所有已

12、加载的工程进行编辑。图11.7 VBA IDE界面2. 工程信息在VBA IDE中,“工程”窗口显示的内容包括:所有已加载的VBA工程,这些工程所包含的程序代码、类别、窗体、与工程相关的文件,本工程所引用的其他VBA工程,这些工程所在的位置(路径)等,如图11.8所示。“工程”窗口的顶部为包含3个按钮的工具条,通过切换按钮可显示不同的工程元素。选中工程模块中的“窗体”后,单击“查看代码”按钮可显示该工程模块的程序代码;单击“查看对象”按钮可显示该工程元素对象的外观,如窗体界面。“工程”窗口在默认状态下是打开的。若不可见,可在IDE中用菜单操作“【视图】【工程资源管理器】”来打开。查看代码切换文

13、件夹查看对象图11.8 “工程”窗口3. 工程元素每个工程均由若干不同的元素构成,包含对象、窗体、标准模块、类模块和引用等。(1) 对象 对象是工程中的基本运行实体。VBA中的对象可分为两类,一类是由系统设计好,可直接使用或对其进行操作的对象;另一类是用户定义,可用程序建立用户自己的对象。对象是具有特殊属性(数据)和行为方式(方法)的实体,它由属性、事件和方法这3个重要方面构成。(2) 窗体模块 窗体模块分为两部分,一部分是作为用户界面的窗体,另一部分是执行具体操作的代码。窗体是放置其他对象的容器,常用于创建工程的自定义交互式对话框。(3) 标准模块 又叫程序代码模块,简称模块。该模块完全由代

14、码组成,这些代码不与具体的窗体或控件相关联。(4) 类模块 类模块既包含代码又包含数据,每个类模块定义一个类。可在窗体模块中定义类的对象,调用类模块中的过程。4. 添加新元素用户可在工程中添加新元素,比如插入新的窗体、模块或类模块等。添加新元素后,用户可修改元素的性质(例如元素名称)和编写程序代码。用户命名新元素时,应遵循规范的命名惯例,即“见名知义”,提高程序的可读性。在工程中添加新元素的步骤如下:(1) 在VBA IDE的“工程”窗口中选择要添加元素的工程。(2) 从“插入”菜单中选择“添加用户窗体”、“添加模块”或“添加类模块”选项,将新元素添加到该工程中。新的元素加入到工程后,会以默认

15、的属性出现在“工程”窗口中。5. 编辑元素元素的编辑包括对属性、代码和对象的编辑等。(1) 元素属性编辑 在“工程”窗口中选取被编辑的元素,“属性”窗口中将显示其属性,如图11.9所示。将光标定位于“属性”窗口右边的属性值栏,即可修改为需要的属性值。(2) 代码编辑 在“工程”窗口中选取被编辑的元素(窗体、模块或类模块),再单击窗口顶部的“查看代码”按钮,即可打开程序代码窗口并编辑程序代码,如图11.10所示。图11.9 “属性”窗口图11.10 “程序代码”窗口(3) 窗体编辑 在“工程”窗口中选取被编辑的窗体模块,再单击窗口顶部的“查看对象”按钮,即可打开窗体窗口和控件工具箱,如图11.11所示。用户可在该窗口中增删对象、编辑对象的属性或编辑与窗体关联的程序代码。双击窗体窗口中的控件,可在程序代码窗口中显示与该控件相关的程序代码。图11.11 “窗体”窗口11.3 VBA二次开发实例在学习了AutoCAD VBA基础知识后,接下来介绍一个简单实例。通过该实例的学习,我们可以初步掌握开发VBA应用程序的一般过程。训练11.1 应用VBA编写输入起点和终点坐标绘制直线的参数化程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号