明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 675|回复: 3

VB.net外部调用AutoCAD

[复制链接]
发表于 2020-7-29 22:11 | 显示全部楼层 |阅读模式
各位大佬,我想编写一个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仅支持外部调用,但不支持外部控制,不知道在这了有没有权威的解答。
感激不尽!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2020-8-4 21:12 | 显示全部楼层
谢谢,问题解决了。
VB.net和C#。net外部调用AutoCAD只能通过Com接口TypeLibrary技术调用,但是这方面开发的人比较少,不好弄啊。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-30 10:53 | 显示全部楼层
你或许应该去【VBA/VB/ActiveX/API 编程技术 】板块了解一下
发表于 2020-8-5 08:12 | 显示全部楼层
枫叶(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个文件共享一下吗?非常感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-20 18:00 , Processed in 0.390364 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表