Предисловие
При работе с библиотеками ROBUR основное внимание обычно уделяется самим элементам: их названиям, геометрии, характеристикам и оформлению. Теги параметров при этом часто остаются где-то на втором плане. Они уже есть в библиотеке, программа с ними работает - и кажется, что разбираться в их устройстве необязательно.
Для большинства задач действительно достаточно обычного тега. Мы создаём параметр, указываем ему имя и назначаем какое-нибудь понятное обозначение:
Tag1
Такой тег работает как идентификатор. Благодаря ему ROBUR понимает, какой параметр находится перед ними. Но на этом возможности тегов не заканчиваются.
Наверняка вы встречали параметры, которые в свойствах ROBUR ведут себя по-разному. В одном месте можно свободно написать текст, в другом разрешены только числа, а где-то появляется готовый выпадающий список. Некоторые поля можно изменять, другие заблокированы. Всё это может определяться прямо в описании тега.
То есть тег способен не только обозначить параметр, но и подсказать ROBUR, как именно с ним работать:
- показать обычное текстовое поле;
- принимать числовое значение;
- добавить единицу измерения;
- показать выпадающий список;
- разрешить или запретить изменение в свойствах.
Сначала такая запись может выглядеть сложно:
Tag1 combo "Нет|No|Да|Yes" "Нет" false
Однако внутри неё нет ничего страшного. Она состоит из нескольких последовательных частей, каждая из которых отвечает только за одну настройку.
В этой статье разберём основные виды таких тегов, посмотрим, как они выглядят, и попробуем создать собственные параметры с нужным поведением.
Выпадающий список
Тип Combo создаёт параметр с готовым списком значений.
Пример:
Tag1 combo "Нет|No|Да|Yes" "Нет" false
Варианты записываются парами:
Название для пользователя | Служебное название
В этом примере пользователь увидит два варианта:
- Нет;
- Да.
Можно создать более подробный список:
Tag2 combo "По умолчанию|Default|Прямолинейный|StraightLine|Шарнирный|Joint" "По умолчанию" false
Значение после списка определяет вариант по умолчанию:
"По умолчанию"
Если в названиях нет пробелов, допускается короткая запись:
Tag1 combo Нет|No|Да|Yes Нет
Однако вариант с кавычками универсальнее и понятнее.
Текстовый параметр
Для текстового значения используется тип string:
Tag3 info string||false
Он подходит для:
- названий;
- описаний;
- примечаний;
- марок;
- обозначений.
Две вертикальные черты означают, что единица измерения не указана.
Числовой параметр
Для обычных чисел используется тип float:
Tag4 info float
Можно дополнительно указать единицу измерения:
Tag4 info float|mm|false
В данном случае параметр содержит число в миллиметрах.
Другой пример:
Tag5 info float|m|false
Такой параметр содержит значение в метрах.
Целое число
Если параметр должен содержать только целое число, используется тип int:
Tag6 info int||false
Он подходит, например, для количества элементов, деталей или повторений.
Что означают состояния True и False
Последняя часть тега определяет, можно ли изменять параметр в свойствах ROBUR.
Tag3 info string||false Tag3 info string||true
Значения означают:
- false - параметр разблокирован;
- true - параметр заблокирован.
Для выпадающих списков действует такое же правило:
Tag1 combo "Нет|No|Да|Yes" "Нет" false
Если true или false не указано, параметр обычно считается заблокированным по умолчанию.
Было
СталоИз каких частей состоит расширенный тег
Рассмотрим пример
Tag4 info float|mm|false
Здесь:
Tag4 - имя тега;
info - указание на специальный тип параметра;
float - числовое значение;
mm - миллиметры;
false - параметр разблокирован.
Для списка структура выглядит иначе:
Tag1 combo "Обычный|Normal|Усиленный|Reinforced" "Обычный" false
Здесь:
Tag1 - имя тега;
combo - выпадающий список;
далее перечислены варианты;
Обычный - значение по умолчанию;
false - параметр доступен для редактирования.
Как создать собственный расширенный тег
Сначала придумайте уникальное имя:
Tag1
После этого выберите необходимый тип.
Редактируемый текст
Tag1 info string||false
Заблокированный текст
Tag1 info string||true
Число в миллиметрах
Tag2 info float|mm|false
Целое число
Tag3 info int||false
Собственный выпадающий список
Tag5 combo "Обычный|Normal|Усиленный|Reinforced" "Обычный" false
Главное правило для списка — записывать варианты парами:
Отображаемое название | Служебное название
Если необходимо добавить ещё один вариант, он просто дописывается в эту последовательность:
Tag5 combo "Обычный|Normal|Усиленный|Reinforced|Специальный|Special" "Обычный" false
Таким способом можно создавать собственные списки категорий, состояний, способов отображения, типов конструкций и других заранее определённых вариантов.
Создание тегов в редакторе библиотек
Вручную составлять такие теги полезно хотя бы для понимания принципа их работы. Но постоянно следить за кавычками, вертикальными разделителями и правильным порядком частей не всегда удобно. Особенно если выпадающий список содержит много вариантов.
Поэтому работа с такими тегами уже автоматизирована в Редакторе библиотек ROBUR, который представлен на сайте.
При создании или изменении параметра в программе можно выбрать:
- обычный текст;
- число;
- целое число;
- переключатель;
- выпадающий список;
- единицу измерения;
- состояние блокировки.

Для выпадающего списка можно отдельно добавить названия и соответствующие им служебные значения, а затем выбрать вариант по умолчанию.
Редактор самостоятельно сформирует правильную запись тега. Пользователю не потребуется вручную проверять кавычки, разделители и последовательность частей.


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