Чтение объектов AEC в файле DXF с помощью Python - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь найти способ чтения файлов DXF (сохраненных из AutoCAD) с помощью Python для создания файлов SVG

Файлы AutoCAD, с которыми я работаю, являются архитектурными чертежами и используют объекты AEC, такие как окна, двери и т. Д.

Я хочу, чтобы можно было извлечь значения свойств этих объектов (например, двойную дверь) и вставить их в разметку SVG

Я использую библиотеку Python под названием ezdxf - до сих пор она хорошо работает для чтения файла DXF и создания чертежа в SVG путем выполнения различных объектов, таких как линии, окружности и т. Д., И их свойств

import sysc
import ezdxf

filename = sys.argv[1]
drawing = ezdxf.readfile(filename)
for layer in drawing.layers:
  lines = modelspace.query('LINE[layer=="%s"]' % layer_name)
  for entity in lines:
    print entity.dxf.start[0]
    print entity.dxf.start[1]
    print entity.dxf.end[0]
    print entity.dxf.end[1]
    print entity.dxf.color

Однако я не смог найти способ доступа к каким-либо объектам AEC (например, AEC_WINDOW) и их свойствам для встраивания в разметку SVG

Если я открою файл DXF, я вижу следующие объекты:

КЛАСС 1 AEC_WINDOW_STYLE 2 AecDbWindowStyle 3

Мне интересно, есть ли еще какая-нибудь библиотека, которая может помочь найти способ их чтения?

...