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

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

相关推荐
課代表4 天前
VB.NET 与 C# 文件操作文本到二进制文件的读写
c#·二进制文件·vb.net·streamwriter·文本文件·读写·streamreader
白雪公主的后妈5 天前
Auto CAD二次开发——多边形多段线
c#·cad二次开发·多边形
白雪公主的后妈9 天前
Auto CAD二次开发——创建圆弧对象
c#·cad二次开发·创建圆弧对象
VB.Net13 天前
VB.Net循序渐进(第二版)
开发语言·.net·vb.net
专注VB编程开发20年14 天前
B.NET编写不阻塞UI线程的同步延时
ui·.net·vb.net·doevents
专注VB编程开发20年15 天前
VB.NET2003和VB2008可以导入VB6项目
.net·vb.net·vb6·vb2008
专注VB编程开发20年1 个月前
vb.net编写DDE(Dynamic Data Exchange)服务器
运维·服务器·github·vb.net·dde
专注VB编程开发20年1 个月前
vb.net COM DLL 示例,实现了所有 VB6 X86 数据类型的对应
开发语言·前端·vb.net·com·vb6·activex dll
专注VB编程开发20年1 个月前
c#vb.net动态创建二维数组
windows·c#·vb.net·二维数组
专注VB编程开发20年3 个月前
IIS Express中可以同时加载并使用.net4.0和.NET 2.0的 DLL
c++·windows·microsoft·c#·vb.net