二维CAD CAD > CAD技巧
+

AutoCAD VBA二次开发

2012/1/15    作者:未知    来源:网络文摘    阅读:4305

自从1986AutoLISP作为第一个用于AutoCAD二次开发的编程语言被引入到AutoCAD中,从此许多计算机软件开发商和用户用AutoLISP编写了数以万计的实用系统和应用程序。还有大量的程序是利用AutoCAD的外部文件(Script)对AutoCAD进行二次开发。对AutoCAD来说这无疑是一笔巨大的资源和财富,也是其赖以发展的基础之一。

 概述

1.1 AutoCAD中实现ActiveX

AutoCAD ActiveX使用户能够从AutoCAD的内部或外部以编程方式来操作AutoCAD,它是通过将AutoCAD对象显示到外部世界做到这一点的。一旦这些对象被显示,许多不同的编程语言和环境以及其他应用程序(例如Microsoft Office中的Word VBAExcel VBA)就可以访问它们。

AutoCAD中实现ActiveX接口有两大优点:

(1) 更多的编程环境可以编程访问AutoCAD图形。在ActiveX Automation出现以前,开发人员只能使用AutoLISPC++接口。

(2) 与其他Windows应用程序(例如Microsoft Office中的ExcelWord)共享数据变得更加容易。

对象是所有ActiveX应用程序的主要构造块,每一个显示的对象均精确代表一个AutoCAD组件,AutoCAD ActiveX接口中有许多不同类型的对象。例如,直线、圆弧、文字和标注等图形对象是对象;线型与标注样式等样式设置是对象;图层、编组和块等组织结构是对象;视图与视口等图形显示是对象;甚至图形、AutoCAD应用程序本身也是对象。

 1.2 AutoCAD中的VBA[1]

Microsoft VBA是一个面向对象的编程环境,可提供类似Visual Basic(VB)的丰富开发功能。VBAVB的主要差别是VBAAutoCAD在同一进程空间中运行,提供的是具有AutoCAD智能的、非常快速的编程环境。VBA也向其他支持VBA的应用程序提供应用程序集成,这就意味着AutoCAD(使用其他应用程序对象库)可以是如Microsoft WordExcel之类的其他应用程序的Automation控制程序。

AutoCAD中实现VBA有四大优点:

(1) Visual Basic编程环境易于学习和使用。

(2) VBA可与AutoCAD在同一进程空间中运行,这使程序执行得非常快。

(3) 对话框的构造快速而有效。这使开发人员可以构造原型应用程序并迅速收到设计的反馈。

(4) 工程可以是独立的,也可以嵌入到图形中。这样就为开发人员提供了非常灵活的方式来发布他们的应用程序。

新工程会被创建为未保存的全局工程。创建完成后,可以将它嵌入到图形中或保存到工程文件中。

 2  VBA基础

2.1 VBA工程

AutoCAD VBA工程是由许多程序模块、类模块和窗体组成的集合,他们同时运行即可完成指定的功能。VBA工程可以保存于AutoCAD图形文件内部,称为内嵌VBA工程;亦可保存为独立的工程,称为全局VBA工程,*.dvb文件格式保存

对于内嵌VBA工程,当打开包含该工程的AutoCAD图形文件时,它将被自动加载。因此,在运行内嵌VBA工程程序之前,其用户不须在文件夹中去寻找工程文件并加载该工程,使得工程管理更加方便。

全局VBA工程的功能较多。全局工程可在任何AutoCAD图形中运行,亦可在工程中打开或关闭AutoCAD图形。全局工程容易与其他用户共享,且可制作成共享的宏[2]资源库,因此应用VBA开发通用应用程序时,应将其保存为全局工程。但全局工程也有一些缺点,它不会随AutoCAD图形文件的打开而自动加载。所以,用户在运行全局工程程序之前须要知道哪个工程文件中包含了所需的宏,然后加载该工程文件,最后才能执行相应的宏。

 2.2 VBA管理器

在当前AutoCAD进程中加载的所有VBA工程均可用VBA管理器来管理,亦可用它来新建、保存、加载、卸载、嵌入或提取工程。“VBA管理器”对话框如图1所示。

启动VBA管理器”对话框的命令调用方法为:

命令行:VBARUN

菜单栏:【工具】→【宏】→【VBA管理器】

VBA应用程序开发、管理相关的下拉菜单如图2所示。

AutoCAD_VBA二次开发

VBA管理器”对话框

 AutoCAD_VBA二次开发

VBA应用程序开发、管理相关的下拉菜单

 1. 创建新VBA工程

创建新VBA工程的步骤如下:

(1) 打开“VBA管理器”对话框。

(2) 选择新建

新工程将以默认的名称“ACADProject”创建。如要更改工程名称,必须进入“Visual Basic编辑器”中,在“工程属性”窗口中更名。其操作方法步骤如下:

(1) 单击VBA管理器”中的Visual Basic编辑器”按钮(如图1所示)或用菜单选择“Visual Basic编辑器”(如图2所示),打开“Microsoft Visual Basic”,如图3所示。

(2) VB的“工程资源管理器”选中“ACADProject(Global1)”,单击右键,在弹出菜单中选择“ACADProject属性…”选项,打开“工程属性”对话框,在“工程名称”中输入用户欲更改的名称,如图4所示。

 AutoCAD_VBA二次开发

Visual Basic编辑器

 AutoCAD_VBA二次开发

“工程属性”对话框

  • 相关文章
  • 热门文章
免责申明:天天CAD教程网旨在相互学习交流,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!邮箱:qm198794@gmail.com天天CAD教程网湘ICP备17006802号
【回到顶部】