首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取MText对象的TextString属性?

如何获取MText对象的TextString属性?
EN

Stack Overflow用户
提问于 2021-04-27 06:25:58
回答 1查看 92关注 0票数 0

我有一个非常简单的AutoCAD绘图,只有两个实体:一个MText对象和一个Polyline对象,如下面的屏幕截图所示。

我想通过以下代码以编程方式从MText对象(即字符串'foo')获取TextString属性:

代码语言:javascript
复制
import win32com.client

acad = win32com.client.gencache.EnsureDispatch('AutoCAD.Application')
dwg = acad.Documents.Open(r'C:\path\to\my\drawing\test.dwg')
ms = dwg.ModelSpace

for obj in ms:
    if obj.EntityName == 'AcDbMText':
        print(obj.TextString)

但是我得到了这个错误:

代码语言:javascript
复制
Traceback (most recent call last):

  File "<ipython-input-299-e8bbc8ec7f92>", line 3, in <module>
    print(obj.TextString)

  File "D:\anaconda3\lib\site-packages\win32com\client\__init__.py", line 473, in __getattr__
    raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))

AttributeError: '<win32com.gen_py.AutoCAD 2021 Type Library.IAcadEntity instance at 0x2562970331648>' object has no attribute 'TextString'

这很奇怪,因为一年前这段代码还运行得很好。这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-04-28 13:26:51

我对使用Python编写AutoCAD不太了解。据我所知,对于COM/ActiveX API,MText object确实有一个TextString属性,但没有EntityName属性,您应该使用ObjectName

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67274540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档