Может ли формат файла DXF / AutoCAD хранить пользовательские атрибуты для примитивов?

539
tkr

В настоящее время я изучаю способы рисования примитивов, связанных с атрибутами данных. Таким образом, я столкнулся с САПР и форматом файла DXF, но я не пользователь САПР, и документация, которую я нашел до сих пор, смущает меня в этом отношении.

Итак, мой вопрос, могу ли я добавить атрибуты к нарисованному примитиву в AutoCAD? Например, я могу нарисовать многоугольник и присвоить ему специальный атрибут, такой как "material = metal"?

Я знаю такую ​​функциональность только из ГИС- программ и форматов файлов, таких как GeoJSON, однако эти программы являются высокоспециализированными для чертежей в перспективе птицы, без конструктивной точности (то есть углов, длины и т. Д.).

Так можно ли это сделать в AutoCAD, и чем сохранить результат как DXF ASCII?

Спасибо за ваше время, и, пожалуйста, извините меня за мое невежество

2

1 ответ на вопрос

0
Lee Mac

Да, вы можете добиться этого, используя расширенные данные объекта (xData).

Существуют различные способы, чтобы прикрепить XData к объекту: самый простой из которых и который не требует никакого опыта программирования является использование средства Express Tools' XDATAкоманду .

После вызова этой команды вам будет предложено указать имя приложения (App ID), под которым будут прикреплены xdata. Имя приложения может быть произвольным, но избегайте всего, начиная с "ACAD"(оно зарезервировано для использования AutoCAD, например, для применения переопределений Dimension Style) и избегайте пробелов и символов.

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

Наконец, после указания типа данных AutoCAD предложит вам соответствующим образом указать данные, которые будут прикреплены к объекту и сохранены под указанным идентификатором приложения.

Для извлечения сохраненных данных, вы можете либо использовать средства Express Tools' XDLISTкоманду, или вы можете получить доступ к XDATA программно, как я описал здесь .

Похожие вопросы