-1

我使用 auotcad 作为附件制作了一个动态块,里面有几个属性,即“RXXX”、“COOR”。 https://drive.google.com/file/d/1c8WdeAql1U5edFBKEK7coupx9ilX_Ga6/view?usp=sharing

我想按照 ezdxf 文档中的指导提取下面包装块的属性,但没有运气。 https://ezdxf.readthedocs.io/en/stable/tutorials/blocks.html?highlight=wrapped#evaluate-wrapped-block-references

如果有人对如何提取动态块内的属性有任何想法,谢谢。

4

1 回答 1

0

此文件中的 INSERT 实体是常规 INSERT,没有特殊功能,打印所有标签和关联值:

import ezdxf

doc = ezdxf.readfile('Block with attribute.dxf')
msp = doc.modelspace()
for insert in msp.query('INSERT'):
    print(str(insert))
    print([(attrib.dxf.tag, attrib.dxf.text) for attrib in insert.attribs])

结果:

INSERT(#36E)
[('RXXX_001', 'R502b'), ('COOR', '"836689.0, 822839.6"'), 
('MAX_SPL', '64.6'), ('FLOOR_WITH_EXCEEDANCE', 'FLOOR_WITH_EXCEEDANCE'), 
('Exceedance', 'EXCEEDANCE'), ('SPL(BASE)', ''), ('MT_TYPEV3', ''), 
('TOWER', '5'), ('FLOOR', 'Typ'), ('UNIT', 'B'), ('ROOM', 'MBR'), 
('COOR_X', '836689.0044'), ('COOR_Y', '822839.5560')]

于 2020-09-25T18:57:43.593 回答