是否可以使用 ezdxf 在现有图层上定位文本?

Is it possible to use ezdxf to locate text on an existing layer?

我想获取图层上的多个TEXTMTEXT位置信息,但我不知道如何获取。

请多指教

可以在 excellent documentation for .

中找到演示如何完成此操作的教程和示例

例如,要获取驻留在模型空间中特定层上的所有单行文本(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)