用Python通过comtypes操作CAD2007及以上版本的AUTOCAD的问题

adousen 2013-05-29 01:45:40
用下面的程序,在CAD2006的软件中执行良好
# -*- coding:gb2312 -*-

# 本程序使用comtypes在AutoCAD内调用COM操作
import comtypes.client
acad = comtypes.client.GetActiveObject("AutoCAD.Application")
doc = acad.ActiveDocument
ms = doc.ModelSpace
utility = doc.Utility
...
...

然而在CAD2007版本或CAD2012的软件中,按照CAD的开发人员手册,写为
acad = comtypes.client.GetActiveObject("AutoCAD.Application.17") #CAD2007
acad = comtypes.client.GetActiveObject("AutoCAD.Application.18") #CAD2012
总是报错,不知道哪位知道该怎么解决,才能让Pyhong通过Comtypes顺利操作AUTOCAD
...全文
662 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
adousen 2013-05-31
  • 打赏
  • 举报
回复
问题解决了,原来是没有清空AutoCAD的缓存,把 ..\Python2.7.3\Lib\site-packages\comtypes\gen 下由于操作CAD2006生成的缓存删除后,再运行就正常了

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧