inneedofmajorhe 发表于 2022-7-6 23:18:14

谢谢你的提示。我检查了一下,它基本上检查了对象是否已经创建。我想看看CAD在程序中是否处于命令提示符状态。。i、 e.准备好指挥。。如果没有办法检查,那么我想我必须把线程放在那里。。到目前为止,这不是我的第一选择

ReMark 发表于 2022-7-6 23:22:55

很抱歉。我想这至少可以提供一些线索。
 
启动AutoCAD时加载的内容。
 
http://www.blog.cadnauseam.com/2008/09/01/what-is-loaded-at-autocad-startup-and-when/

inneedofmajorhe 发表于 2022-7-6 23:24:15

非常有用。。谢谢我想,为了更直接,我只需要检查在cad中何时调用了S::STARTUP。。根据启动时的调用顺序,这是最后调用的东西,因此如果我检查了它,那么我知道我应该是好的。。。。哈哈,那我怎么检查呢?

inneedofmajorhe 发表于 2022-7-6 23:30:16

SOOOOO。我想问对问题是值得的。。我正在寻找的状态是从isquisite()返回的
所以现在我只需要知道如何在正确的时间调用它,这样它就不会在创建新对象时出错。。但关键是功能

inneedofmajorhe 发表于 2022-7-6 23:33:02

好啊最后,对于需要这个小提示的人来说。。我非常非常非常接近。。。我只需要捕捉异常并继续循环,直到我从Isquiecent()得到真的结果。这是我到目前为止得到的结果。。我现在只需要抓住例外

State = MyAcad.GetAcadState

         

Do Until cadquiet = True

               

Try

                  

If State.IsQuiescent Then

                     cadquiet =

True

                  

End If

               

Catch ex As Exception

                   cadquiet =

False

               

End Try

         

Loop

inneedofmajorhe 发表于 2022-7-6 23:36:28

好啊所以我用下面的代码实现了它。。如果有人能做得更好,请告诉我。。主要的是捕捉异常并一直等待,直到它准备好

State = MyAcad.GetAcadState

         

Do Until cadquiet = True

               

Try

If State.IsQuiescent Then

                     cadquiet =
True

Thread.Sleep(1500)

End If

Catch ex As System.IO.IOException
                   cadquiet =False

End Try
Loop

ReMark 发表于 2022-7-6 23:38:58

我知道你是一个执着的人。干得好!
页: 1 [2]
查看完整版本: 如何检查CAD是否打开