我想在一个图层上获取多个TEXT
或MTEXT
的位置信息,但我不知道如何。
请提供一些建议。
答案 0 :(得分:1)
可以在excellent documentation的ezdxf中找到说明如何完成此操作的教程和示例。
例如,要获取位于模型空间中特定图层上的所有单行文本(TEXT
)和多行文本(MTEXT
)的集合,可以使用:
msp = doc.modelspace()
textset = msp.query('TEXT MTEXT[layer=="YourLayerHere"]')
获取此集合后,您可以遍历实体并查询插入点:
for e in msp.query('TEXT MTEXT[layer=="YourLayerHere"]'):
if e.dxftype() == 'MTEXT' or (e.dxf.valign == 0 and e.dxf.halign in [0,3,5]):
print("Position: %s\n" % e.dxf.insert)
else:
print("Position: %s\n" % e.dxf.align_point)