【发布时间】:2012-03-08 16:05:34
【问题描述】:
我需要通过 COM 接口连接和控制 AutoCAD。为此,我使用 Python。在我第一次尝试使用非常基本的 sn-p(1) 时,我遇到了一个错误。代码是:
import win32com.client
acad = win32com.client.Dispatch("AutoCAD.Application")
doc = acad.ActiveDocument
doc.Utility.Prompt("Hello from Python\n")
当我尝试运行它时,我得到了这个:
Traceback (most recent call last):
File "C:\Users\SBYSMR10\Desktop\recipe-440493-1.py", line 2, in <module>
acad = win32com.client.Dispatch("AutoCAD.Application")
File "C:\Python26\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147221005, 'Invalid class string', None, None)
我安装了 Python 2.6 和 AutoCAD LT 2009。我通过网络搜索解决方案,但找不到任何解决方案。那么你能帮我解决这个问题吗?
(1) 代码取自@Tom Haws 的blog。
【问题讨论】:
-
嘿! :-) 这是我博客中的 AutoCAD-Python 连接代码吗?酷!
-
据我记忆,是的:)
标签: python com pywin32 autocad win32com