gpt4 book ai didi

python - 使用python更改dxf文件中的图层名称

转载 作者:行者123 更新时间:2023-11-30 22:42:58 25 4
gpt4 key购买 nike

嗨,我需要使用 python 自动化工作流程。我必须打开一个 dxf 文件,然后更改其中的一个文本和形状的名称。我正在使用 ezdxf 模块。我可以看到图层,但是当我尝试更改其中一个图层的名称并保存文件时,会使用新名称创建一个新图层。提前致谢。

dwg = ezdxf.readfile('path_to_my_file.dxf')
for layer in dwg.layers:
if layer.dxf.name == 'old_layer_name':
layer.dxf.name = 'new_layer_name'

最佳答案

如果您只是重命名图层表中的图层,则不会更改任何实体的图层,因为所有实体都有自己的图层属性,该属性决定实体出现在哪个图层上。这必须为所有布局空间(包括模型空间)以及所有 block 定义手动完成。

仅针对模型空间的示例:

import ezdxf

dwg = ezdxf.readfile('old.dxf')
msp = dwg.modelspace()

OLD_LAYER_NAME = 'old_layer_name'
NEW_LAYER_NAME = 'new_layer_name'

# rename layer
try:
layer = dwg.layers.get(OLD_LAYER_NAME)
except ValueError:
print('Layer {} not found.'.format(OLD_LAYER_NAME))
else:
layer.dxf.name = NEW_LAYER_NAME

# move entities in model space to new layer
all_entities_on_old_layer = dwg.modelspace().query('*[layer=="%s"]' % OLD_LAYER_NAME)
for entity in all_entities_on_old_layer:
entity.dxf.layer = NEW_LAYER_NAME # this assigns the new layer

dwg.saveas('new.dxf')

关于python - 使用python更改dxf文件中的图层名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41942682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com