不仅是CATIA软件具有VBA二次开发接口,很多机械设计软件也都具有VBA二次开发接口。本期,就来为大家介绍一下Auto CAD软件的VBA二次开发,使用VisualStudio软件编写一个能够在Auto CAD软件中绘制圆的软件。
Auto CAD软件版本:Auto CAD 2018。
Visual Studio软件版本:Microsoft Visual Studio Ultimate 2010。
一、项目创建
在Microsoft Visual Studio Ultimate 2010软件中创建“Windows窗口应用程序”模板项目,项目名称为Auto CAD画图工具。
二、Auto CAD对象库引用
在添加引用对话框中选择“COM”标签,然后在其下点选“AutoCAD 2018 Type Library”对象组件,将其引用到项目中。
三、软件窗体布置与属性设置
1.设置Form1窗体属性。
2.在Form1窗体中添加两个Label控件、1个TextBox控件、2个Button控件,添加完成后分别设置控件属性。
3.控件添加与属性设置完成后,将各个控件摆放至合适位置,然后拖动Form1窗体至合适大小。
四、Auto CAD软件连接
1.双击Form1窗体控件,在代码编辑区的最前面添加Auto CAD对象库引用代码。
2.在Form1窗口的Load事件中编写代码,实现画图工具软件与Auto CAD软件的控制连接。
五、新建图纸功能实现
在“新建图纸”按钮的Click事件下编写新建图纸功能代码,并在编写完成后对功能进行运行测试。
六、画圆功能实现
在“创建圆”按钮的Click事件下编写绘制圆的功能代码,本此绘制使用的是圆心与半径约束创建圆的方法。
软件完整代码如下所示。
Imports AutoCAD Public Class Form1 Dim AcadApp As AcadApplication Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Try "获取AutoCAD软件COM对象 AcadApp = GetObject(, "AutoCAD.Application") Catch ex As Exception "未打开AutoCAD软件时提示打开软件 MsgBox("请先打开AutoCAD软件。") End End Try End Sub Private Sub CmdCreateDrawing_Click(sender As System.Object, e As System.EventArgs) Handles CmdCreateDrawing.Click "创建新图纸 AcadApp.Documents.Add() End Sub Private Sub CmdCreateCircle_Click(sender As System.Object, e As System.EventArgs) Handles CmdCreateCircle.Click Dim CircleObj As AcadCircle Dim CenterPoint(0 To 2) As Double Dim Radius As Double "定义圆心坐标数据 CenterPoint(0) = 100.0 : CenterPoint(1) = 100.0 : CenterPoint(2) = 0.0 "获取圆半径数据 Radius = Val(CircleRadiusTextBox.Text) Try "创建圆 CircleObj = AcadApp.ActiveDocument.ModelSpace.AddCircle(CenterPoint, Radius) "显示整个图形 AcadApp.ZoomAll() "更新视图 CircleObj.Update() Catch ex As Exception MsgBox("请先新建一张图纸或打开一张图纸。") End Try End Sub End Class
七、软件运行测试
1.对编写的代码进行测试,在没有打开Auto CAD软件的情况下弹出提示语句“请先打开AutoCAD软件”,若是Auto CAD软件已经打开,软件则可正常启动。
2.Auto CAD软件启动后,点击画图工具中的“创建圆”按钮,若是Auto CAD软件还未添加图纸文件,此时会弹出对话框提示“请先新建一张图纸或打开一张图纸”。
3.点击画图工具中的“新建图纸”按钮,在Auto CAD软件中新建一张图纸,然后再次点击“创建圆”按钮,可以看到在Auto CAD软件中创建了一个圆心位于(100,100)位置处,半径为50mm的圆。
4.改变圆半径设定值,再次点击“创建圆”按钮,将在相同位置处绘制出设定半径值的圆。
The End
上一篇:CATIA软件二次开发:焊点小球生成工具应用程序编写