Как добавить динамический атрибут AREA к полилинии с помощью ezdxf?

Я использую библиотеку ezdxf для создания файлов DXF с полилиниями и различными атрибутами, которые задаются внутри полилинии в виде текста. Как с помощью ezdxf создать атрибут AREA, который будет связан с полилинией? Это означает, что если я открою созданный файл DXF в AutoCAD и изменю геометрию полилинии, то текст AREA автоматически обновит свое значение.

Вот как я это делаю в AutoCAD:

Присвоение ОБЛАСТИ ОБЪЕКТУ ПОЛИЛИНИИ в AutoCAD

Вот пример того, какого поведения я хочу добиться в AutoCAD:

  1. Состояние атрибута AREA при открытии файла DXF:

    Состояние атрибута AREA при открытии файла DXF.

  2. Изменение геометрии ПОЛИЛИНИИ:

    Изменение геометрии ПОЛИЛИНИИ

  3. После применения команды REGEN значение атрибута AREA обновляется:

    После применения команды REGEN значение атрибута AREA обновляется.


person as89    schedule 23.11.2018    source источник


Ответы (1)


Теоретически это возможно, но вам нужно будет написать определение словаря расширений, прикрепленное к определению атрибута, словарь ACAD_FIELD, содержащийся в словаре расширений, словарь TEXT, содержащийся в нем, контейнер объектов FIELD и, наконец, объект FIELD. который ссылается на само свойство объекта.

Вы можете просмотреть данные DXF для каждого из этих словарей и объектов с помощью такой утилиты, как мой Список объектов программы и просмотрите записи, начиная с словаря расширений.

person Lee Mac    schedule 23.11.2018