我目前正在 Python 中使用
AutoCAD
,最近尝试在 Python 和 AutoCAD 之间建立连接。我写了一个简单的脚本来测试连接:
from pyautocad import Autocad
def main():
# Create an instance of AutoCAD
acad = Autocad()
# Check if there's an active document
print(acad.doc.Name)
if __name__ == "__main__":
main()
但是,我遇到了以下错误消息:
Traceback (most recent call last):
File "C:\Users\engli\PycharmProjects\pythonProject\Architecture\create a line.py", line 12, in <module>
main()
File "C:\Users\engli\PycharmProjects\pythonProject\Architecture\create a line.py", line 8, in main
print(acad.doc.Name)
^^^^^^^^
File "C:\Users\engli\PycharmProjects\pythonProject\.venv\Lib\site-packages\pyautocad\api.py", line 74, in doc
return self.app.ActiveDocument
^^^^^^^^
File "C:\Users\engli\PycharmProjects\pythonProject\.venv\Lib\site-packages\pyautocad\api.py", line 63, in app
self._app = comtypes.client.GetActiveObject('AutoCAD.Application', dynamic=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\engli\PycharmProjects\pythonProject\.venv\Lib\site-packages\comtypes\client\__init__.py", line 178, in GetActiveObject
clsid = GUID.from_progid(progid)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\engli\PycharmProjects\pythonProject\.venv\Lib\site-packages\comtypes\GUID.py", line 74, in from_progid
_CLSIDFromProgID(str(progid), byref(inst))
File "_ctypes/callproc.c", line 1008, in GetResult
OSError: [WinError -2147221005] Invalid class string
错误消息
Invalid class string
表明无法找到或访问 AutoCAD 的 COM 对象。我不确定如何解决这个问题。任何帮助将不胜感激。
您有完整版的 AutoCAD 或 AutoCAD LT 吗?