OSError:无效的类字符串

问题描述

我正在尝试使用pyautocad自动执行AutoCAD Application中的某些任务。我正确地获得了acad对象,因此它返回了“ ”,但是当我尝试以任何方式操作此对象时,都会出现错误错误如下所示。我尝试重新安装pywin32,也尝试安装pypiwin32。有谁知道我该如何解决错误并成功操纵Acad应用程序?

我的代码很简单,如下所示:

from pyautocad import Autocad,APoint

acad = Autocad()
p1 = APoint(0,0)

print(acad)
print(p1)

acad.prompt("Hello,Autocad from Python\n")

for i in range(5):
    print(i)
    obj = acad.model.AddText('Hi %s!' % i,p1,2.5)
    p1.y += 10

#EXECUTION THROUGH CMD
C:\tcc>python teste.py
<pyautocad.api.Autocad object at 0x015673A0>
APoint(0.00,0.00,0.00)
Hello,Autocad from Python

Traceback (most recent call last):
  File "C:\tcc\teste.py",line 9,in <module>
    acad.prompt("Hello,Autocad from Python\n")
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\pyautocad\api.py",line 162,in prompt
    self.doc.Utility.Prompt(u"%s\n" % text)
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\pyautocad\api.py",line 74,in doc
    return self.app.ActiveDocument
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\pyautocad\api.py",line 63,in app
    self._app = comtypes.client.GetActiveObject('AutoCAD.Application',dynamic=True)
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\comtypes\client\__init__.py",line 173,in GetActiveObject
    clsid = comtypes.GUID.from_progid(progid)
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\comtypes\GUID.py",line 78,in from_progid
    _CLSIDFromProgID(str(progid),byref(inst))
  File "_ctypes/callproc.c",line 947,in GetResult
OSError: [WinError -2147221005] Invalid class string

我也尝试过解决之前在这里提出的问题(这是链接pyautocad gives ungooglable error,该链接在当时似乎行得通,但对我来说却给出了相同的错误

C:\tcc>python teste.py
Traceback (most recent call last):
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\win32com\client\dynamic.py",line 89,in _GetGooddispatch
    Idispatch = pythoncom.connect(Idispatch)
pywintypes.com_error: (-2147221005,'Invalid class string',None,None)

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "C:\tcc\teste.py",line 4,in <module>
    AutoCAD = win32com.client.dispatch("AutoCAD.Application")
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\win32com\client\__init__.py",line 95,in dispatch
    dispatch,userName = dynamic._GetGooddispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\win32com\client\dynamic.py",line 114,in _GetGooddispatchAndUserName
    return (_GetGooddispatch(Idispatch,clsctx),userName)
  File "C:\Users\gabri\AppData\Local\Programs\Python\python39-32\lib\site-packages\win32com\client\dynamic.py",line 91,in _GetGooddispatch
    Idispatch = pythoncom.CoCreateInstance(Idispatch,clsctx,pythoncom.IID_Idispatch)
pywintypes.com_error: (-2147221005,None)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)