我想按 BLOCK 解析 dxf 文件内的所有实体并将其分组,然后打印每个 BLOCK 的名称以及构成该块的实体。 有没有办法使用 ezdxf 库(也许是 groupby() 函数)来做到这一点? 不构成块的实体不需要分组或打印。
我尝试过使用 groupby() 函数,但没有找到按 BLOCKS 分组的方法
import ezdxf
def main(filename: str) -> None:
doc = ezdxf.readfile(filename)
for block in doc.blocks:
print(f"Block name: {block.name}")
print(f"BLOCK entity: {str(block.block)}")
print(f"ENDBLK entity: {str(block.endblk)}")
print("Block content entities:")
print("-----------------------")
for entity in block:
print(f" {str(entity)}")
if __name__ == "__main__":
main("your.dxf")