Python pyautocad给出了不可隐藏的错误

Python pyautocad给出了不可隐藏的错误,python,python-3.6,autocad,Python,Python 3.6,Autocad,OSError:[WinError-2147221005]无效的类字符串 完全回溯 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:/Users/MONSTR/Desktop/Ванжые/Yusuf bey/GUI/test1.py", line 10, in <module> for text

OSError:[WinError-2147221005]无效的类字符串

完全回溯

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/MONSTR/Desktop/Ванжые/Yusuf bey/GUI/test1.py", line 10, in <module>
    for text in acad.iter_objects('Text'):
  File "C:\Users\MONSTR\AppData\Local\Programs\Python\Python36\lib\site-packages\pyautocad\api.py", line 111, in iter_objects
    block = self.doc.ActiveLayout.Block
  File "C:\Users\MONSTR\AppData\Local\Programs\Python\Python36\lib\site-packages\pyautocad\api.py", line 74, in doc
    return self.app.ActiveDocument
  File "C:\Users\MONSTR\AppData\Local\Programs\Python\Python36\lib\site-packages\pyautocad\api.py", line 67, in app
    self._app = comtypes.client.CreateObject('AutoCAD.Application', dynamic=True)
  File "C:\Users\MONSTR\AppData\Local\Programs\Python\Python36\lib\site-packages\comtypes\client\__init__.py", line 227, in CreateObject
    clsid = comtypes.GUID.from_progid(progid)
  File "C:\Users\MONSTR\AppData\Local\Programs\Python\Python36\lib\site-packages\comtypes\GUID.py", line 78, in from_progid
    _CLSIDFromProgID(str(progid), byref(inst))
  File "_ctypes/callproc.c", line 918, in GetResult
OSError: [WinError -2147221005] Invalid class string
在谷歌上呆了几个小时后,我决定在这里想一想

原因是什么?

发生特定错误是因为您的程序无法正确打开AutoCAD;但是,当我自己打开AutoCAD然后运行代码时,会出现以下错误:

_ctypes.COMError: (-2147467262, 'No compatible interface', (None, None, None, 0, None))
根据我的经验,
COMError
经常因为与所用程序的连接不良而出现。我通过将
win32com
pyautocad
相结合来解决这种问题。对于这种特殊情况,它将是这样的:

从pyautocad导入Autocad,APoint
导入win32com.client
AutoCAD=win32com.client.Dispatch(“AutoCAD.Application”)
acad=Autocad(如果不存在,则创建=False)
p1=APoint(0,0)
p2=点(50,25)
对于范围(5)中的i:
text=acad.model.AddText('Hi%s!'%i,p1,2.5)
acad.model.AddLine(p1、p2)
acad.模型添加圆(p1,10)
p1.y+=10
dp=APoint(10,0)
对于acad.iter_对象(['Hi'])中的文本:
打印('文本:%s位于:%s'(text.TextString,text.InsertionPoint))
text.InsertionPoint=APoint(text.InsertionPoint)+dp
对于acad.iter\u对象中的行(dont\u cast=True):
打印(line.ObjectName)
AutoCAD.Visible=True

发生特定错误是因为程序无法正确打开AutoCAD;但是,当我自己打开AutoCAD然后运行代码时,会出现以下错误:

_ctypes.COMError: (-2147467262, 'No compatible interface', (None, None, None, 0, None))
根据我的经验,
COMError
经常因为与所用程序的连接不良而出现。我通过将
win32com
pyautocad
相结合来解决这种问题。对于这种特殊情况,它将是这样的:

从pyautocad导入Autocad,APoint
导入win32com.client
AutoCAD=win32com.client.Dispatch(“AutoCAD.Application”)
acad=Autocad(如果不存在,则创建=False)
p1=APoint(0,0)
p2=点(50,25)
对于范围(5)中的i:
text=acad.model.AddText('Hi%s!'%i,p1,2.5)
acad.model.AddLine(p1、p2)
acad.模型添加圆(p1,10)
p1.y+=10
dp=APoint(10,0)
对于acad.iter_对象(['Hi'])中的文本:
打印('文本:%s位于:%s'(text.TextString,text.InsertionPoint))
text.InsertionPoint=APoint(text.InsertionPoint)+dp
对于acad.iter\u对象中的行(dont\u cast=True):
打印(line.ObjectName)
AutoCAD.Visible=True

请包含完整的回溯。我发现了错误代码,但不知道我读的是否相关,请包括完整的回溯。我已经找到了错误代码,但不知道我读的内容是否相关