Кто-нибудь подскажет, пожалуйста?
Код: Выделить всё
import ezdxf
class tool_test:
def __init__(self, dxf = str) -> None:
self.name = dxf
self.doc = ezdxf.readfile(self.name)
self.msp = self.doc.modelspace()
def all_blocks_2_polylines(self):
while len(self.msp.query("INSERT")) != 0:
for entity in self.msp:
layer = entity.dxf.layer
self.blocks_2_polylines(entity, layer)
self.doc.save()
def blocks_2_polylines(self, entity, layer):
explode = []
if entity.dxftype() == 'INSERT':
explode = entity.explode()
for ent in explode:
if hasattr(ent.dxf, 'layer'):
ent.dxf.layer = layer
print(f"Entity {ent.dxftype()} on layer {ent.dxf.layer}")
elif entity.dxftype() == 'HATCH':
self.msp.delete_entity(entity)
if __name__ == '__main__':
dxf = 'your_path_here'
print("start")
my_tool = tool_test(dxf)
my_tool.all_blocks_2_polylines()
print("done")
Подробнее здесь: https://stackoverflow.com/questions/790 ... with-ezdxf