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()进行后期绑定,具体哪种可根据需要调整。

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

相关推荐
中游鱼22 天前
微软官方 .NET 混淆软件 Dotfuscator
microsoft·c#·.net·混淆·vb.net·dotfuscator
中游鱼1 个月前
目前最新 Reflector V11.1.0.2067版本 .NET 反编译软件
c#·.net·vb.net·.net reflector·反编译.net·最新版本
rrokoko2 个月前
TIOBE 编程指数 9 月排行榜公布 VB.Net第七
.net·vb.net
VB.Net2 个月前
EmguCV学习笔记 VB.Net 11.9 姿势识别 OpenPose
opencv·计算机视觉·c#·图像·vb.net·emgucv·姿势识别
VB.Net2 个月前
EmguCV学习笔记 VB.Net 12.1 二维码解析
opencv·计算机视觉·c#·图像·vb.net·二维码·emgucv
VB.Net2 个月前
EmguCV学习笔记 VB.Net 12.3 OCR
opencv·计算机视觉·c#·ocr·图像·vb.net·emgucv
VB.Net2 个月前
EmguCV学习笔记 C# 12.3 OCR
opencv·计算机视觉·c#·ocr·vb.net·emgucv
VB.Net2 个月前
EmguCV学习笔记 VB.Net 11.6 图像分割
opencv·计算机视觉·c#·图像分割·dnn·vb.net·emgucv
VB.Net2 个月前
EmguCV学习笔记 VB.Net 11.4 图像分类
opencv·计算机视觉·c#·dnn·图像·vb.net·emgucv
VB.Net2 个月前
EmguCV学习笔记 C# 11.2 DNN推理流程
opencv·计算机视觉·c#·dnn·图像·vb.net·emgucv