sunny_8848 发表于 2021-1-24 10:03:00

代码生成多个进程

请教大家,下面的代码怎么会生成多个CAD进程,本意是想在一个CAD里面打开模板进行绘图,GetObject(".Application.18")语句没有起作用。
    On Error Resume Next
       Dim acadApp As Object
      Set acadApp = GetObject("AutoCAD.Application.18")
      If Err Then
            Err.Clear
            GoTo 800
800         Set acadApp = CreateObject("AutoCAD.Application.18")
            If Err Then
                Err.Clear
                GoTo 800
            End If
      End If
    Dim acadDoc As Object
    Set acadDoc = acadApp.ActiveDocument
    acadApp.Visible = True
    acadDoc.Exit
    acadApp.Application.Documents("Drawing1.dwg").Close
    Dim templateFileName As String
      templateFileName = "D:\Program Files\DT绘图模板.dwt"
    acadApp.Application.Documents.Add templateFileName
    Set acadDoc = acadApp.ActiveDocument
    acadApp.Visible = True

sunny_8848 发表于 2021-1-25 07:54:00

自己顶一次,这个问题困扰很久了

mikewolf2k 发表于 2021-1-25 09:34:00

GetObject(, "AutoCAD.application")
另外代码逻辑错误,过程内只能跳出不能跳入。

sunny_8848 发表于 2021-1-25 14:17:00

谢谢版主解答。还是会生成两个进程,能帮忙修改下上面的代码吗

mikewolf2k 发表于 2021-1-25 15:24:00

应该是你的代码错误,没按前面提示的改。

sunny_8848 发表于 2021-1-25 16:42:00

一步步的调试,还是那句代码不起作用

mikewolf2k 发表于 2021-1-25 17:00:00

请贴出你现在的代码。

sunny_8848 发表于 2021-1-25 19:26:00

现在的代码就是上面的改了您说的那句

satan421 发表于 2021-1-28 10:48:00

不会vb,也没明白是想要多个进程还是不想要。
lisp:
(vla-add (vla-get-documents (vlax-get-acad-object)) "D:\Program Files\DT绘图模板.dwt")

sunny_8848 发表于 2021-1-28 12:43:00


谢谢帮忙,是不想看到多个CAD进程,就一个窗口里面打开模板绘图。lsp需要在CAD里面运行,可这时已经有多个进程了
页: [1]
查看完整版本: 代码生成多个进程