Часто спрашивают: вот есть в семействе три элемента, на каждом — параметр видимости, и как сделать так, что один флажок включаешь — остальные выключаются:
Сейчас расскажу! (нет)
Неудивительно! Да, мы можем связать параметр «Да/Нет» через формулу:
Но обратите внимание, что при этом параметр блокируется. Если мы пропишем формулу для всех трех параметров, то как минимум не сможем их включать! Более того, что при этом образуется циклическая связь: значение параметра зависит от другого параметра, значение которого, в свою очередь, зависит от первого. Ревит нам такое не разрешит:
Что же делать? Ну, как минимум можно использовать «Типоразмер из семейства». Тогда можно будет даже из выпадающего списка нужный элемент выбирать:
Но нужно будет вложенные семейства вводить, и придумать, как выкручиваться, если от этих флажков другие формулы зависят…
Я обычно пользуюсь другим способом — с числовым параметром, который будет являться источником данных для других параметров. Создаем параметр «Номер формы» и определяем через него все параметры видимости:
Да, не супер-изящно, но вполне себе норм.
Ладно, раз уж мы здесь собрались — вот еще пару хитростей с формулами для параметров «Да/Нет»:
IF можно использовать прямо внутри формул. Предположим, в зависимости от параметра «Доборный вкл» вам нужно увеличивать количество элементов на 1. Можно написать так:
Количество = if(Доборный вкл, rounddown((Длина-2*Отступ)/Шаг)+1, rounddown((Длина-2*Отступ)/Шаг))
Но можно упростить:
Количество = rounddown((Длина-2*Отступ)/Шаг)+ if(Доборный вкл,1,0)
Еще у меня в начале была вот такая формула, включающая круг тогда, когда выключен квадрат и треугольник:
Круг = and(not(Квадрат), not(Треугольник))
Но формула всё-таки громоздкая, её можно записать иначе: вынести not за скобки и поменять and на or:
Круг = not(or(Квадрат, Треугольник))
Такие хитрости часто позволяют упростить сложные формулы.
Еще можно заблокировать параметр «Да/Нет», чтобы он был всегда включен или выключен. Я обычно использую условие «1=1» и «1=0«:
Кстати, а шо это за волшебная анимация в начале статьи? Да ничего особенного, просто немного магии видеомонтажа 🎬✂🎥
А я жив-здоров, просто перешел из Академии в Пик и нырнул в настоящее море работы. И хорошо!