XDLabel - создание надписей, связь надписей с объектами
Экспериментальный проект
XDLabel - экспериментальный проект. В целом - продолжение проекта XDTOOLS, конкретизация. И развитие темы Lisp. Связь надписей с объектами. Там же я разместил и сами команды, XDLabel.fas.
XDLabel - частный случай использования XData, для надписей при объектах.
Об идее организации работы с надписями была предыдущая запись в этом блоге, и многие другие мои записи здесь с 2017 г.
Проект экспериментальный: в начале способы решения были в плотном тумане, ресурсов ничтожно, общие обстоятельства давно и постоянно неблагоприятны для сосредоточения. А задача оказалась неожиданно очень объемной.
Поэтому пока всего три команды:
- XDLABEL_LINK - связывание надписей со своими объектами,
- XDLABEL_CREATE - создание надписей,
- XDLABEL_UPDATEL - обновление надписей, их содержания, свойств, положения.
Для команд необходимо, чтобы к объектам были присоединены XData с полями для содержания надписей - в которые загружается содержание надписей или из которых берется их содержание.
Эта необходимость создавать-присоединять XData кажется избыточной, но это же является известным преимуществом. Здесь XData играют роль универсального посредника. В их поля можно вводить-загружать разнообразные данные вручную, средствами XDTOOLS, из Excel или т.п. В т.ч. загружать содержание уже существующих надписей. Т.е. поля XData выполняют и роль хранилища, и источника, и места обмена данными. Благодаря XDTOOLS в них можно загружать значения почти любых основных свойств объектов, и во многих случаях - наоборот - менять свойства объектов в зависимости от имеющихся значений.
Команды выполняют указанные действия для множества указанных объектов/надписей сразу. Это позволяет сделать создание и изменение сразу всех нужных надписей быстрее, контролируемым, возобновляемым. Т.е. достаточно легким, не обременительным.
В т.ч., XDLabel - попытка решения задачи работы с надписями в общем виде. В реалистичном, общетипичном, конечно, варианте. Но эти команды позволяют решить многие задачи, которые давно, постоянно и снова поднимаются на форуме dwg.ru и др. И для которых уже написано множество программок, и требуются для каждого случая новые специальные программки.
Для удобства работы нужно добавить еще 3-5 команд. Но эти первые три выполняют основные необходимые действия.