VetCAD

Надписи из и с XData - или - "Атрибуты" для любых типов примитивов AutoCAD с помощью XData

   0 оценок

размещено: 01 Февраля 2022
обновлено: 01 Февраля 2022

Надписи из и с XData. Проект. Вариант 1

или

"Атрибуты" для любых типов примитивов AutoCAD с помощью XData

 

Создать набор команд [на Lisp - ?] для отображения содержания XData надписями, для загрузки содержания надписей в поля XData.

Для быстрого и простого создания надписей и управления их отображением. (Кроме атрибутов, но отчасти)

Нужно 4-6 команд:

- загружать содержание надписей из большинства "текстовых" типов примитивов (текстов, мтекстов, выносок, размеров) в нужные поля XData. Например, для объектов, расположенных не дальше указанного расстояния от них.

Выбираются "текстовые" объекты и объекты другого типа (отрезки, полилинии, точки и т.д.), и, в соответствии с указанным расстоянием-допуском, в  указанное поле XData загружается содержание их надписей.

При этом к этим "текстовым" объектам добавляются "служебные" XData, описывающие связь с объектами других типов с нужным XData. (См ниже о параметрах)

- выгружать для выбранных объектов содержание указанного поля XData в связанные с объектами надписи.

Для уже существующих "текстовых" объектов, связанных с объектами других типов, заменяется содержание их надписей содержанием соответствующего поля XData.

- создавать "текстовые" объекты для выбранных объектов с XData из указанных их полей.

Во внешнем текстовом файле предварительно описываются параметры надписей, отображающих нужные поля XData. Параметры: идентификатор связанного объекта, название связанного XData, порядковый номер его поля и его тип, тип примитива "текстового" объекта, положение относительно объектов, свойства собственно надписей - стиль, размер, тип привязки и т.п.

В соответствии с этими параметрами создаются "текстовые" объекты из содержания указанных полей XData. Связь этих надписей с их объектами описывается в выше упомянутом "служебном" XData. (См. выше о "служебном" XData с описанием связи)

- обновление "текстовых" объектов - обновление их содержания на основе содержания соответствующих полей XData, обновление их положения относительно связанных с ними объектов, обновление их параметров.

- включение/выключение отображения сразу всех указанных "текстовых" объектов с описанными связями.

- обнаружение "сиротских" надписей - не связанных с объектами.

- создание текстового файла описания связей на основе связанных в XData "текстовых" объектов с объектами других типов.

 

Таким или подобным образом можно решить задачу связи всех надписей в чертежах/моделях с соответствующими объектами. Обеспечить соответствие содержания надписей нужным описательным данным. (Любые надписи сами есть отражение описательных данных, но связаны с объектами в головах людей). Сделать отображение/скрытие надписей быстрым и удобным.

Подобные надписи играли бы ту же роль, что и атрибуты блоков. Но для объектов любых типов примитивов AutoCAD.

И такие надписи из обычных "текстовых" типов примитивов AutoCAD были бы лучшим аналогом "автоматических" надписей вертикальных приложений, т.к. не являлись бы proxy, и были бы одинаково доступны для пользователей любых, всех AutoCAD.

При том: подобная технология надписей уже больше 40 лет хорошо и многообразно реализована и практикуется в геоинформационных системах. Да и вертикальных приложениях AutoCAD, если не считать не нужного в сущности создания для этого специальных объектов этих приложений.