Переменные модуля и переопределение
Помимо глобальных переменных, у каждого модуля есть свои, локальные переменные — на вкладке «Переменные» в конфигураторе. Это мощный инструмент гибкой настройки без программирования. В этой статье разберём, как создавать переменные модуля, выводить их пользователю и каскадно переопределять для вложенных элементов.
Локальные переменные: те же типы
Заголовок раздела «Локальные переменные: те же типы»Переменные модуля бывают тех же трёх типов, что и глобальные:
- Число — с минимальным, максимальным значением и шагом;
- Список — выбор из готовых вариантов, у каждого есть текстовое название и числовое (системное) значение;
- Да/Нет — логический переключатель.
Разница в области действия: локальная переменная работает только внутри своего модуля, а глобальная — по всему каталогу.
Что переменные умеют
Заголовок раздела «Что переменные умеют»Через переменные модуля управляют:
- видимостью секций и деталей;
- размерами и отступами;
- положением элементов;
- включением/выключением опций (например, «есть цоколь» / «нет цоколя»).
Вывод переменной на сцену
Заголовок раздела «Вывод переменной на сцену»У каждой переменной есть настройка, показывать ли её пользователю на сцене. Если показать — дизайнер увидит переключатель в параметрах модуля и сможет менять значение. Если скрыть — переменная остаётся служебной, для внутренней логики.
Так вы решаете, что отдать «на откуп» дизайнеру (например, выбор стороны открывания двери), а что спрятать (служебные отступы и расчётные параметры).
Условное отображение переменных
Заголовок раздела «Условное отображение переменных»Переменную можно показывать только при выполнении условия. Классический пример: переключатель «Цоколь» включён — показываем дополнительные параметры цоколя (его высоту); выключен — прячем их. Это убирает лишние опции из интерфейса и не путает пользователя.
Связь с типовыми размерами
Заголовок раздела «Связь с типовыми размерами»Значения переменных можно связать с типовыми размерами. Тогда при выборе размера модуля автоматически подставятся нужные значения переменных. Удобно для серийных изделий с фиксированными типоразмерами.
Переопределение для вложенных модулей
Заголовок раздела «Переопределение для вложенных модулей»Это ключевая возможность. Модули вложены друг в друга (модуль → корпус → ящик), и переменные можно переопределять каскадно, сверху вниз.
Пример: у вас есть модуль с несколькими ящиками. Вместо того чтобы настраивать каждый ящик отдельно, вы задаёте значение переменной на уровне родительского модуля, и оно распространяется на все вложенные ящики. Поменяли родителя — изменились все «дети».
Также можно импортировать переменные из вложенных модулей наверх — чтобы управлять ими централизованно из одного места.
Копирование и блокировка
Заголовок раздела «Копирование и блокировка»- Копирование и вставка групп переменных между модулями — экономит время при создании похожих изделий. Важно учитывать порядок вычислений и зависимости, чтобы ничего не сломалось.
- Блокировка изменения переменных — защищает от случайных правок.
- Скрытие переменных из интерфейса — упрощает работу дизайнера, оставляя только нужное.
Группировка переменных
Заголовок раздела «Группировка переменных»Когда переменных много, их удобно объединять в группы для наглядности. Искать конкретную переменную в длинном списке помогает обычный браузерный поиск Ctrl+F.
Практический пример
Заголовок раздела «Практический пример»Переключатель «Парящая база»:
- Создаёте переменную типа «Да/Нет» с названием «Парящая база».
- Создаёте числовую переменную «Высота базы» с диапазоном 0–200 мм.
- Настраиваете условное отображение: «Высоту базы» показывать, только если «Парящая база» = Да.
- В формулах позиционирования опор используете «Высоту базы».
- Выводите оба переключателя дизайнеру.
Теперь дизайнер включает парящую базу, задаёт её высоту — и модуль сам приподнимается.
Коротко
Заголовок раздела «Коротко»Переменные модуля — это локальные управляемые настройки тех же трёх типов (число, список, да/нет). Их можно выводить дизайнеру или прятать, показывать по условию, связывать с типовыми размерами и каскадно переопределять для вложенных элементов. Это основной способ сделать модуль гибким без единой строчки кода.