Формулы

Приблизительное время прочтения: 3 минут(а)

Описание

В данной статье пойдет речь о: типе данных, синтаксисе формул (правильном их написании в командной строке), соблюдении регистра при написании формул. Так же про условные выражения для формул. Булевы выражения. Формулы для поиска по таблицам.

Тип данных

При создании параметров указывается его тип данных

  • Длина
  • Число
  • Угол

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

Важно присвоить правильный тип данных параметру, который будет вписан в командную строку “Формула”. Так как формулы создают параметр, числовое значение которого зависит от значений других параметров. Например: если при расчете параметра “Площадь”, ему присвоить тип данных “Длина”, а не “Площадь”, то расчет не будет произведен и появиться уведомление о несовместимости единиц.

Синтаксис

При написании формул следует соблюдать регистр, то есть, если название параметра написано с большой буквы: “Длина”, то и писать в командной строке “Формула” этот параметр так же необходимо с большой буквы.

Если же написать “длина”, то программа не распознает заданную формулу и появиться уведомление об ошибке.

СинтаксисОписание
+Сложение
Вычитание
*Умножение
/Деление
^Возведение в степень
log()Логарифмирование
sqrt()Квадратный корень
sin()Синус
cos()Косинус
tan()Тангенс
asin()Арксинус
acos()Арккосинус
atan()Арктангенс
exp(x)Математическая постоянная e, возведенная в степень
abs()Абсолютное значение (модуль)
pi()Отношение длины окружности к диаметру круга (число Пи)
round()Округленное до ближайшего целого числа, без учета направление
roundup()Округленное до максимального целого значения
rounddown()Округленное до минимального целого значения

Примеры округления:

  • round(3.1) = 3; round(-3.7) = -4
  • roundup(3.1) = 4; round(-3.7) = -3
  • rounddown(3.7) = 3; rounddown(-3.7) = -4

Округление работает только с типом данных “Число”, если же необходимо округлить например длину, то в скобках необходимо сократить единицы измерения.

Округление работает до целых. Чтобы округлить число до определенного знака после запятой нужно умножить число на 10^n (n-необходимое количество знаков после запятой) в скобках и разделить на то же самое число после скобок.

При написании формул нужно постараться минимизировать использования параметров с именами совпадающими с единицами измерения и содержащими дефис. Так как знак дефис Revit воспринимает как знак минус (если имя параметра содержит дефис, то при написании его в поле “Формулы” его необходимо взять в квадратные скобки), а имена параметров. совпадающие с единицами измерения, он будет воспринимать как единицы измерения.

Условные выражения для формул

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

Структура: if(<условие>,<значение если выполняется>,<значение если не выполнятся>).

В условии можно использовать следующие операторы сравнения: “>” , “=”, “<“. Также есть возможность использовать логические операторы: “AND”, “OR”, “NOT”.

В данный момент нет возможности использовать операторы сравнения “<=”, “>=”, но данные операторы сравнения можно заменить логическим оператором “NOT”. Например, неравенство a<=b можно записать как NOT(a>b).

Примеры формул с условными выражениями:

if(Длина>350 мм, “Текст 1”, “Текст 2”)

Если длина больше 350 мм, то пишем “Текст 1”,а если меньше или равно, то пишем “Текст 2”.

if и логический оператор AND (должны выполняться все условия, перечисленные в скобках):

=if(AND(x=1? y=2), 8, 3)

Если параметр “x” равен 1 и параметр “y” равен 2, то пишем “8”, а если “x” не равен 1, или параметр “y” не равен 2, то пишем “3”.

if и логический оператор OR (должно выполниться хотя бы одно условие из перечисленных в скобках):

=if(OR ( A =1, B=2) 8, 3)

Если параметр “А” равен 1, или параметр “В” равен 2, то пишем “8”, а если параметр “А” не равно 1, и параметр “В” не равен 2, то пишем “3”.

Вложенное if-условие:

=if(Длина<10500 мм, 450 мм, if(Length<13500, 900 мм, if(Длина<16500 мм, 1500 мм, 2400 мм)))

  • Если Длина меньше 10500 мм, то параметр равен 450 мм,
  • Если Длина больше или равна 10500 мм, но меньше 13500 мм, то параметр равен 900 мм,
  • Если Длина больше или равна 13500 мм, но меньше 16500 мм, то параметр равен 1500 мм,
  • Если Длина больше 16500 мм, то параметр равен 2400 мм.

Булевы выражения

Булевы выражения представлены в Revit типом данных “Да/Нет”. Данные выражения используются, если нужно выполнить одновременное условие, при котором один элемент виден, а другой нет. Рассмотрим данные выражения на примере открывания какой-либо дверцы шкафчика или другого объекта.

Параметры типа данных “Да/Нет” представлен галочками.

Если нам нужно сделать чтобы один элемент был виден, а другой нет, то в командной строке “формулы” любого из данных параметров необходимо написать данное выражение: not(Левое открывание)/not(Правое открывание).

При включенной галочке “Левое открывание” будет отображаться “Левое открывание”, а при отключенной автоматически скроется “Левое открывание”, и будет отображаться “Правое открывание”.

Также в данных выражениях можно использовать логические операторы “AND” и”OR” (как они работают разобрано выше).

Формулы для поиска по таблицам

В семействах можно использовать таблицы выбора (поиска или лукап-таблицы). Данные формулы нужны для присвоения параметру значений из CSV-таблицы, которые подгружают в семейство. Это позволяет задать ряд размеров деталей, основанных на таблице, без создания отдельных типоразмеров семейства.

Синтаксис: size_lookup(LTN, “LC”, DINF, LV1, LV2, …, LVN), где

  • LTN – LookupTableName – имя CSV-таблицы в кавычках или имя параметра, в который вписано имя таблицы.
  • LC – LookupColumn – имя столбца в таблице, в котором находиться искомое значение.
  • DNIF – DefaultIfNotFound – значение. которое будет возвращено в параметр, если не будет найдено совпадение в таблице выбора.
  • LV1, LV2, LVN – LookupValueN – значение, которое требуется найти в первом, втором и последующих столбцах таблицы.(При поиске значений первый столбец пропускается)

Рассмотрим данную формулу на примере создания концентрического перехода.

Для начала необходимо создать таблицу выбора в Excel по ГОСТ и сохранить в формате “CSV (разделитель – запятая)”.

Чтобы ее создать создаем такую таблицу в Excel:

Поскольку каждый столбец описывает определенный параметр длины, то необходимо прописать для каждого значения свой параметр.

  • Dy – диаметр условный большой;
  • dy – диаметр условный малый;
  • Dn – диаметр большой;
  • dn – диаметр малый;
  • L – длина.

После данную таблицу необходимо сохранить в формате “CSV (разделитель – запятая)” под именем “Концентрический переход”.

После создания семейства и создания необходимых параметров(также нужно создать параметр с типом данных “Текст” с названием “ТП”(таблица поиска)). После необходимо импортировать данную таблицу в семейство. Далее в поле “Значение” данного параметра “ТП” необходим вписать название нашей таблицы “Концентрических переход”.

Теперь пропишем формулы для каждого параметра типоразмера в семействе.

В результате получим:

Проверим работу таблицы поиска.

Выберем Dy= 80, а dy=65, 10 номер таблицы.

Сравнивая значения в типоразмере семейства и значений в таблице, делаем вывод что таблица работает корректно.

Метки:
Была ли эта статья вам полезна?
👁 47
  • Есть практический опыт успешного применения BIM-технологий в проектировании, строительстве или эксплуатации?
  • Являетесь экспертом в области BIM-технологий?
  • Есть интересный опыт, контент или технология в сфере BIM?
  • Ищеите возможность проподавать или поделиться своими знаниями с другими?
  • Хотите партнерские условия?

Напишите нам, мы всегда готовы предложить отличные условия за Ваш опыт и материалы!

  • Есть практический опыт успешного применения BIM-технологий в проектировании, строительстве или эксплуатации?
  • Являетесь экспертом в области BIM-технологий?
  • Есть интересный опыт, контент или технология в сфере BIM?
  • Ищеите возможность проподавать или поделиться своими знаниями с другими?
  • Хотите партнерские условия?

Напишите нам, мы всегда готовы предложить отличные условия за Ваш опыт и материалы!

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

  • SMM-маркетинг (Youtube, Linkedin, VK, Facebook и другие)
  • SEO-оптимизация
  • Контекстная реклама в Google и Yandex
  • Проведение маркетинговых компаний (интеграции с партнерами, акции и розыгрыши)
  • Разработка маркетинговых материалов (баннеры, презентации)
  • Продвижение бренда
  • Поиск и общение с клиентами

Главные требования – Ваше желание развиваться по описанным направлениям, быть честным, ответственным и работать на результат.

Мы предлагаем гибкие условия работы и оплаты, опираясь на Ваши пожелания и опыт.

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

  • SMM-маркетинг (Youtube, Linkedin, VK, Facebook и другие)
  • SEO-оптимизация
  • Контекстная реклама в Google и Yandex
  • Проведение маркетинговых компаний (интеграции с партнерами, акции и розыгрыши)
  • Разработка маркетинговых материалов (баннеры, презентации)
  • Продвижение бренда
  • Поиск и общение с клиентами

Главные требования – Ваше желание развиваться по описанным направлениям, быть честным, ответственным и работать на результат.

Мы предлагаем гибкие условия работы и оплаты, опираясь на Ваши пожелания и опыт.

Ищем в команду Anlax Technology креативного Контент-мейкера с желанием развиваться в области дизайна и создания контента, применяя современные технологии. В качестве ключевых обязанностей мы выделяем:

  • Создание креативного и профессионального контента (видео, фото, web)
  • Управление контентом (ведение и наполнение сайта, видеохостинга, облачного хранилища, техподдержка)
  • SEO-оптимизация контента
  • Web-дизайн

Главные требования – Ваше желание развиваться по описанным направлениям, быть честным,  ответственным и работать на результат.

Мы предлагаем гибкие условия работы, опираясь на Ваши пожелания и опыт.

Ищем в команду Anlax Technology креативного Контент-мейкера с желанием развиваться в области дизайна и создания контента, применяя современные технологии. В качестве ключевых обязанностей мы выделяем:

  • Создание креативного и профессионального контента (видео, фото, web)
  • Управление контентом (ведение и наполнение сайта, видеохостинга, облачного хранилища, техподдержка)
  • SEO-оптимизация контента
  • Web-дизайн

Главные требования – Ваше желание развиваться по описанным направлениям, быть честным,  ответственным и работать на результат.

Мы предлагаем гибкие условия работы, опираясь на Ваши пожелания и опыт.

Новостная рассылка
Новостная рассылка
Layer 1
Поиск по базе знаний