Python pyautocad给出了不可隐藏的错误
OSError:[WinError-2147221005]无效的类字符串 完全回溯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
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))
根据我的经验,Comeror经常出现是因为与所用程序的连接不良。我通过将win32com与pyautocad相结合来解决这类问题。对于这种特殊情况,它将是这样的:
从pyautocad导入Autocad,APoint
导入win32com.client
AutoCAD=win32com.client.DispatchAutoCAD.Application
acad=自动创建(如果不存在)\u=错误
p1=APoint0,0
p2=APoint50,25
对于范围5中的i:
text=acad.model.AddText'Hi%s!'%i、 p1,2.5
acad.model.AddLinep1、p2
acad.model.AddCirclep1,10
p1.y+=10
dp=APoint10,0
对于acad.iter_对象['Hi']中的文本:
打印文本:%s,位置:%s'%text.TextString,text.InsertionPoint
text.InsertionPoint=APointtext.InsertionPoint+dp
对于acad.iter_objectsdont_cast=True中的行:
printline.ObjectName
AutoCAD.Visible=True
请包括完整的回溯。我已经找到了错误代码,但不知道我读的内容是否相关
_ctypes.COMError: (-2147467262, 'No compatible interface', (None, None, None, 0, None))