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

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

相关推荐
白雪公主的后妈8 天前
Auto CAD二次开发——文字样式
c#·cad二次开发·文字样式
課代表9 天前
VB.Net 常用函数
字符串·类型转换·数组·函数·vb.net·日期时间·条件
課代表12 天前
VB.NET 操作 INI 文件类
api·配置文件·文本·vb.net·ini·kernel32·
課代表18 天前
VB.NET 与 C# 文件操作文本到二进制文件的读写
c#·二进制文件·vb.net·streamwriter·文本文件·读写·streamreader
白雪公主的后妈19 天前
Auto CAD二次开发——多边形多段线
c#·cad二次开发·多边形
白雪公主的后妈23 天前
Auto CAD二次开发——创建圆弧对象
c#·cad二次开发·创建圆弧对象
VB.Net1 个月前
VB.Net循序渐进(第二版)
开发语言·.net·vb.net
专注VB编程开发20年1 个月前
B.NET编写不阻塞UI线程的同步延时
ui·.net·vb.net·doevents
专注VB编程开发20年1 个月前
VB.NET2003和VB2008可以导入VB6项目
.net·vb.net·vb6·vb2008
专注VB编程开发20年2 个月前
vb.net编写DDE(Dynamic Data Exchange)服务器
运维·服务器·github·vb.net·dde