我试图使用python2.7和ezdxf模块将DXF文件的内容绘制到图像中。
我实现了读取和绘制线条,折线,圆圈,但我不知道如何处理插入元素。我想这个INSERT元素(或相关的块)包含其他元素,行,POLYLINE等等.对吧?
下面是我如何访问基本的DXF元素:
dwg = ezdxf.readfile(filename)
modelspace = dwg.modelspace()
for e in modelspace:
analyseElement(e)
def analyseElement(e):
if e.dxftype() == 'LINE':
print("DXF LINE FOUND:")
p1=e.dxf.start
p2=e.dxf.end
[...]我是否可以从插入内容中探索和提取基本元素?谢谢大家!
发布于 2017-08-17 03:31:18
块是实体的可重用集合,可以像模型空间一样用于搜索或添加DXF实体。
INSERT实体是块引用,它确定插入块实体的位置、大小和旋转。而INSERT可以具有附加的ATTRIB实体,这些实体是由标记(name)引用的文本值。
块定义存储在Drawing.blocks属性中:
# iterate over all existing block definitions
for block in dwg.blocks:
for e in block:
analyseElement(e)INSERT实体存储在模型空间或另一个块定义中:
for insert in modelspace.query('INSERT'):
block = dwg.blocks[insert.dxf.name]
for e in block:
analyseElement(e)要搜索特定的插入实体:
for insert in modelspace.query('INSERT[name=="MyBlock"]'):
...https://stackoverflow.com/questions/45723019
复制相似问题