有没有办法使用ezdxf库在dxf文件中按块对实体进行分组?

问题描述 投票:0回答:1

我想按 BLOCK 解析 dxf 文件内的所有实体并将其分组,然后打印每个 BLOCK 的名称以及构成该块的实体。 有没有办法使用 ezdxf 库(也许是 groupby() 函数)来做到这一点? 不构成块的实体不需要分组或打印。

我尝试过使用 groupby() 函数,但没有找到按 BLOCKS 分组的方法

python autocad dxf ezdxf
1个回答
0
投票
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")

请阅读文档:https://ezdxf.readthedocs.io/en/stable/

© www.soinside.com 2019 - 2024. All rights reserved.