Предыдущий слой остается при изменении имени слоя - PullRequest
0 голосов
/ 10 июля 2019

Даже если имя слоя изменяется с помощью ezdxf, предыдущий слой остается. Я изменил имя слоя autocad в ezdxf, однако новые имена слоев добавляются, а старые имена слоев остаются.

import ezdxf
import glob
from pathlib import Path
import os
from typing import TYPE_CHECKING, TextIO, Iterable

ile_list=glob.glob('./input/*.dxf')
for filename in file_list:
    dwg = ezdxf.readfile(filename,encoding='auto',legacy_mode=False)
    msp = dwg.modelspace()

    OLD_LAYER_NAME1 = 'ABC'
    NEW_LAYER_NAME1= 'DEF'

    try:
        layer = dwg.layers.get(OLD_LAYER_NAME1)
    except ValueError:
        print('Layer {} not found.'.format(OLD_LAYER_NAME1))
    else:
        layer.dxf.name = NEW_LAYER_NAME1

    all_entities_on_old_layer = dwg.modelspace().query('*[layer=="%s"]' %    OLD_LAYER_NAME1)
    for entity in all_entities_on_old_layer:
        entity.dxf.layer = NEW_LAYER_NAME1  # this assigns the new layer

Никаких сообщений об ошибках не появляется, но когда вы смотрите на список имен слоев, старые названия слоев остаются.

Список имен слоев перед изменением:

ABC
ABCD
ABCDE
・・・

Список имен слоев после изменения:

ABC
DEF
ABCD
ABCDE

Ideal:

DEF
ABCD
ABCDE
...