vb.net&cad二开自学笔记5:ActiveX链接CAD的.net写法

一、必不可少的对象引用

使用activex需要在项目属性中勾选以下两个引用,若找不到,则浏览定位直接添加下面两个文件,可以看到位于cad的安装路径下,图中的3个mgd.dll也可以勾选。

C:\Program Files\Autodesk\AutoCAD 2024\Autodesk.AutoCAD.Interop.dll

C:\Program Files\Autodesk\AutoCAD 2024\Autodesk.AutoCAD.Interop.Common.dll

二、新建一个窗体和按钮,并在代码窗口,输入如下代码

Imports Autodesk.AutoCAD.Interop

Imports Autodesk.AutoCAD.Interop.Common

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim ta As New AcadApplication'定义并实例化一个cad对象,会在后台启动cad

dim aLin As AcadLine, ms As AcadModelSpace'定义一个直线和模型空间对象

Dim pt1(0 To 2) As Double'定义起终点数组

Dim pt2(0 To 2) As Double

pt1(0) = 0 : pt1(1) = 0 : pt1(2) = 0'给起终点数组赋值

pt2(0) = 10 : pt2(1) = 10 : pt2(2) = 0

ta.Visible = True'显示cad窗口

ta.ActiveDocument.Utility.Prompt("hello cad")'命令行显示提示信息

ms = ta.ActiveDocument.ModelSpace'获取当前模型空间

aLin = ms.AddLine(PT1, PT2)'在当前模型空间创建一条直线

End Sub

End Class

先引用cad定义文件,再用New关键字实例化,属于先期绑定,也可用getobject()和createobject()进行后期绑定,具体哪种可根据需要调整。

程序运行结果如下,当然这只是一个非常基本非常简单的框架,随后可以在此基础上按需添加更多的代码实现更多的功能!

相关推荐
专注VB编程开发20年15 天前
C#.NET模拟用户点击按钮button1.PerformClick自动化测试
开发语言·自动化测试·c#·vb.net
专注VB编程开发20年18 天前
写.NET可以指定运行SUB MAIN吗?调用任意一个里面的类时,如何先执行某段初始化代码?
开发语言·vb.net
专注VB编程开发20年18 天前
WebView2最低支持.NET frame4.5,win7系统
c#·.net·webview2·vb.net
专注VB编程开发20年19 天前
C#,VB.NET正则表达式法替换代码
正则表达式·c#·.net·vb.net
专注VB编程开发20年1 个月前
Aspose.words,Aspose.cells,vb.net,c#加载许可证,生成操作选择:嵌入的资源
c#·word·.net·vb.net
rrokoko4 个月前
TIOBE 指数 12 月排行榜公布,VB.Net排行第九
编程语言·vb.net
一只小灿灿5 个月前
VB.NET 从入门到精通:开启编程进阶之路
.net·vb.net
中游鱼6 个月前
微软官方 .NET 混淆软件 Dotfuscator
microsoft·c#·.net·混淆·vb.net·dotfuscator
中游鱼6 个月前
目前最新 Reflector V11.1.0.2067版本 .NET 反编译软件
c#·.net·vb.net·.net reflector·反编译.net·最新版本
rrokoko7 个月前
TIOBE 编程指数 9 月排行榜公布 VB.Net第七
.net·vb.net