【发布时间】:2022-03-17 09:22:56
【问题描述】:
我创建了一个程序,它可以搜索多个子目录,读取特定的 .txt 文件并找到相关信息,然后将其存储在列表中。然后它需要打开一个dxf,读取文本,如果满足某个条件,从列表中替换文本,然后将文本写入相同的位置。问题是我找不到通过阅读 ezdxf 文档找到文本位置的方法。在示例中,他们使用了一条线
print("LINE on layer: %s\n" % e.dxf.layer)
print("start point: %s\n" % e.dxf.start)
print("end point: %s\n" % e.dxf.end)
所以我只是修改了我的阅读
def print_entity(e):
print(e.dxf.text)
print(e.dxftype())
print(e.pos)
print(e.start)
print(e.location)
for e in msp.query('TEXT[layer=="TEXT"]'):
print_entity(e)
但是,这些都没有给我文本的位置。有什么想法吗?
【问题讨论】:
-
是不是有什么原因不能用ezdxf打开dxf文件,修改ezdxf生成的对象,再把修改后的对象另存为dxf文件?如果您这样做,那么您似乎不需要知道文件中文本的位置,尽管我完全有可能在这里遗漏了一些东西。
-
这正是我想要做的......我刚刚做了一个测试,它有效。哇,我试图使这个复杂化。谢谢@JackTaylor