Как я могу добавить «динамический» атрибут AREA к полилинии, используя ezdxf? - PullRequest
0 голосов
/ 23 ноября 2018

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

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

Assigning AREA to POLYLINE OBJECT in AutoCAD

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

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

    AREA attribute state when I open the DXF file.

  2. Изменение геометрии полилинии:

    Changing the geometry of the POLYLINE

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

    After I apply REGEN command, the AREA attribute value gets updated.

1 Ответ

0 голосов
/ 24 ноября 2018

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

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

...