VB.net外部调用AutoCAD
各位大佬,我想编写一个VB.net程序实现外部调用AutoCAD,并通过已获得的CAD实例进行自动插入图块和自动绘图功能。我的思路是,先设计一个VB.net窗体程序用于测试,添加一个Button,响应Click事件,加入代码如下:Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim myAcadApp As AcadApplication
Dim activeDoc As Autodesk.AutoCAD.ApplicationServices.Document
On Error Resume Next
myAcadApp = GetObject(, "Autocad.Application") '检查AutoCAD是否已经打开bai
If Err.Number Then '没有打开
Err.Clear()
myAcadApp = CreateObject("Autocad.Application") '打开CAD
If Err.Number Then
MsgBox(Err.Number & ":" & Err.Description) '打开失败
Exit Sub
End If
End If
On Error GoTo prcERR
myAcadApp.Visible = True '显示CAD
activeDoc = myAcadApp.ActiveDocument
Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double
Dim LineObj As AcadLine '如果画图时出错,改为Dim LineObj As Object
startPoint(0) = 0 : startPoint(1) = 0 : startPoint(2) = 0
endPoint(0) = 30 : endPoint(1) = 20 : endPoint(2) = 0
'LineObj = activeDoc.ModelSpace.AddLine(startPoint, endPoint) '画线
prcExit:
activeDoc = Nothing
myAcadApp = Nothing
Exit Sub
prcERR:
MsgBox(Err.Number & ":" & Err.Description, vbCritical, "错误")
Resume prcExit
End Sub
End Class
然后在程序引用中添加AtuoCAD2014TypeLibrary,但是调试程序时总是显示:
其他信息: 未能加载文件或程序集“accoremgd, Version=19.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
查了很多帖子,换了一些代码都没有办法解决,后来有帖子说AutoCAD仅支持外部调用,但不支持外部控制,不知道在这了有没有权威的解答。
感激不尽!!!
谢谢,问题解决了。
VB.net和C#。net外部调用AutoCAD只能通过Com接口TypeLibrary技术调用,但是这方面开发的人比较少,不好弄啊。 你或许应该去【VBA/VB/ActiveX/API 编程技术 】板块了解一下 枫叶(fox) 发表于 2020-8-4 21:12
谢谢,问题解决了。
VB.net和C#。net外部调用AutoCAD只能通过Com接口TypeLibrary技术调用,但是这方面开发 ...
楼主,你这是装的哪个版本cad?
我装完了是19.1.18,能把你的19.1.0.0的accoremgd.dll,acdbmgd.dll,acmgd.dll的3个文件共享一下吗?非常感谢!
页:
[1]