我已经运行win32com
AutoCAD 很长一段时间没有问题。我了解到应用该makepy
实用程序可以在交互式提示下创建更友好的用户体验,因此我运行它并添加了“AutoCAD 2006 类型库”。现在,我以前访问的一些常用属性不再可用。考虑代码:
acad = win32com.client("AutoCAD.Application")
doc = acad.Documents.Open('mydoc.dwg')
ms = doc.ModelSpace
count = ms.Count #counts all entities in dwg
for i in range(count):
item = ms.Item(i)
if 'block' in item.ObjectName.lower():
print item.Name
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 462, in
__getattr__ raise AttributeError("'%s' object has no attribute '%s'"
(repr(self),attr))
AttributeError: '<win32com.gen_py.AutoCAD 2006 Type Library.IAcadEntity instance
at 0x34894552>' object has no attribute 'Name'
Name
一直是块的可访问属性,直到我运行makepy
. 我已经尝试为 Windows 重新安装 Python 以查看是否会重置它,但它没有用。
makepy 是否会在我需要删除的实施时创建另一个文件?
我的许多脚本都依赖于该Name
属性。您可以提供的任何建议或帮助将不胜感激。