AutoCAD中使用VBA创建应用程序教程

2016-03-18 16:25 280 1 收藏

今天图老师小编给大家展示的是AutoCAD中使用VBA创建应用程序教程,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - autocad教程 】

本章主要介绍了AutoCAD ActiveX和VBA的概念和作用,并通过一个简单的实例讲述了在AutoCAD系统中开发VBA程序的过程。

    实例1 最简单的VBA程序—“Hello.dvb”

    Step 1 创建新文件

    运行AutoCAD 2002系统,以“acadiso.dwt”为样板创建图形文件,并调用“vbaide”命令进入VBA环境;

    Step 2 创建窗体

    (1) 选择菜单【Insert(插入)】→【UserForm(用户窗体)】,编辑器将创建一个新的窗体,并显示在窗体窗口中。选择该窗体,然后在属性窗口中将“Caption”项改为“Draw Text”。

    (2) 在控件工具箱中单击 按钮,并在窗体的适当位置拖动鼠标,创建一个www.tulaoshi.com编辑框控件。

    (3) 在控件工具箱中单击 按钮,并在窗体的适当位置拖动鼠标,创建一个按钮控件。选择该控件后,在属性窗口中将“Caption”项改为“Click”。

    创建结果参见图37-6。

    Step 3 编写代码

    (1) 在窗体窗口中双击按钮控件,编辑器显示代码窗口,并提示用户输入代码,如图37-7所示。代码清单如下:

    Private Sub CommandButton1_Click()

    Dim TextObj As AcadText '定义文字对象变量

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/autocad/)

    Dim TextString As String '定义字符串变量

    Dim InsPnt(0 To 2) As Double '定义文字插入点数组变量

    Dim Height As Double '定义文字高度变量

    TextString = TextBox1.Text '字符串取值为编辑框中输入的文字

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/autocad/)

    '指定文字插入点位置和文字高度

    InsPnt(0) = 100: InsPnt(1) = 100: InsPnt(2) = 0
    Height = 15

   '在模型空间创建文字对象

    Set TextObj = ThisDrawing.ModelSpace.AddText(TextString, InsPnt, Height)
    TextObj.Color = acGreen '指定文字对象的颜色为绿色
    ZoomAll '缩放视图
    Unload Me '关闭窗体
    End Sub

    (2) 单击“Standard(标准)”工具栏中的 按钮,以“Hello.dvb”为名保存该文件。

    Step 4 运行VBA程序

    (1) 单击“Standard(标准)”工具栏中的 按钮运行该程序,系统将切换到AutoCAD窗口,并显示如图37-8所示的对话框。用户可在该对话框的编辑框中输入“Hello, VBA!”,并单击按钮,则将在当前图形中创建文字对象,结果如图37-9所示。

    实例说明

    如果用户退出VBA环境并返回AutoCAD系统窗口,则需要对该程序进行加载后才能运行。加载VBA程序的方式有如下几种:

    1. 选择菜单【Tools(工具)】→【Load Appcation…(加载应用程序)】,弹出“Load/Unload Applications(加载/卸载应用程序)”对话框。利用该对话框进行加载的过程与加载LISP程序相同。

    2. 选择菜单【Tools(工具)】→【Macro(宏)】→【Load Project…(加载工程)】,弹出“Open VBA Project(打开VBA工程)”对话框,用户可选择“Hello.dvb”文件并单击Open按钮进行加载。

    3. 选择菜单【Tools(工具)】→【Macro(宏)】→【VBA Manager…(VBA管理器)】,弹出“VBA Manager(VBA管理器)”对话框,如图37-10所示。

12下一页

来源:https://www.tulaoshi.com/n/20160318/1889849.html

延伸阅读
标签: Java JAVA基础
合成图像 您不必从文件中读取所有的图像 — 您可以创建自己的图像。要创建自己的图像,最灵活的方法是用一个 BufferedImage 对象,它是 Image 类的一个子类,它把图像数据存储在一个可以被访问的缓冲区中。它还支持各种存储像素数据的方法:使用或不使用 alpha 通道、不同种类的颜色模型以及颜色组件的各种精确度。Color...
怎样在Java中得到CPU的使用情况呢?这儿同时有一个好消息和一个坏消息。 坏消息是不能使用纯Java的方法得到CPU的使用。没有这方面的直接的API。一个建议的替代方法是通过Runtime.exec()确定JVM的进程ID(PID),调用外部的、平台相关的命令,例如ps,然后在运行结果中解析出感爱好的PID。但是,这种方法并不理想。 好消息是,可...
在C#是一种类似 Java 的完全面向对象的高级编程语言,其处理过程采用事件驱动方式,但在实际的使用过程中,有时候通过调用系统原有的消息处理起来会更简单,特别是在处理与DLL文件的交互时,实践证明的确是非常方便的。 在C#中使用自定义消息 在C#中使用自定义消息非常简单,只需要下面几个简单的步骤就可以了: 1、定义消...
在.h中: public: // User declarations BEGIN_MESSAGE_MAP  MESSAGE_HANDLER(WM_HOTKEY,TMessage,OnHotKey) END_MESSAGE_MAP(TForm) void __fastcall TMainForm::OnHotKey(TMessage &Message); //响应热键消息 在.cpp中: void __fastcall TMainForm::FormCreate(TObject *Sender) { //注册系统热键...
用过Photoshop的朋友一定对它的那些方便的浮动面板记忆犹新,其实这些面板就是一个个的小窗体,但这些小窗体都放在Photoshop的主窗体上(不是存在主窗体中),有自己的标题栏、最小化按钮及最大化按钮。但它们与MDI程序不同的是,他们可以拖到主窗体外,更重要的是工作中所有这些面板窗体与主窗体最处于激活状态。 用Spy & Capture...

经验教程

66

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部