如果图层为空,如何删除图层

时间:2019-08-30 09:45:03

标签: python-3.x autocad

如果层为空,我想知道如何使用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?

0 个答案:

没有答案