如果层为空,我想知道如何使用ezdxf删除层。
换句话说,我想做与autocad purge命令相同的事情。
我可以删除一个已知为空的图层,但是使用ezdxf,如果该图层为空,我不知道要删除的代码。
import ezdxf
file_list=glob.glob('./input/*.dxf')
for filename in file_list:
dwg = ezdxf.readfile(filename,encoding='auto',legacy_mode=False)
msp = dwg.modelspace()
my_lines = dwg.layers.get("layer1")
old_layername = "layer1"
for layer in dwg.layers:
s=layer.dxf.name
old_layername1 = re.search(old_layername,s)
if old_layername1:
old_layername1=old_layername1.group()
all_entities_on_old_layer = dwg.modelspace().query('*[layer=="%s"]' % old_layername1)
for entity in all_entities_on_old_layer:
if entity not in all_entities_on_old_layer:
dwg.layers.remove(my_lines)
I'm not writing well,Could you edit the above code?