Формулы Revit

Полезные статьи по Revit

Синтаксис формул ревит

Синтаксис - это правила написания формул.Правила достаточно простые и обеспечивается это от части тем, что ревит знает не так много операций. Местами это усложняет работу, но в тоже время это упрощает освоение инструмента.

ТОП функций для формул revit

Сложение - "+"

Вычитание - "-"

Умножение - "*"

Деление - "/"

Округление - "round(x)"

Округление вверх - "roundup(x)"

Округление вниз - "rounddown(x)"

Условное выражение ЕСЛИ - "If"

Логический оператор И - "And" — сочетание выполнения условий

Логический оператор ИЛИ - "Or" — выполнение хотя бы одного условия из перечисленных

Логический оператор НЕ - "Not"

Округление в Revit

Иногда нужно не просто округлить число, но нужно сделать это кратно какой то величине или до определённого порядка.


Как в ревит округлить число до десятых?

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

= round( х * 10 ) / 10


Как в ревит округлить до определённой величины?

Иногда нужно, чтобы шаг размеров был не просто без десятых, но и кратен какой-то величине. Например конструктора часто размер деталей делают кратным 50 или 100, причём округляют размер до 50 вверх. Как это сделать? Нам нужно разделить всю длину на части по 50 мм, округлить вверх (чтобы учесть последнюю часть длиной меньше 50мм), а далее обратно домножить на 50.

= roundup( x / 50) * 50

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

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

Основным условным выражением служит условие "ЕСЛИ".

Функция "ЕСЛИ" в Revit

Объясним на примере: Допустим есть балка и её высота, зависит от её длины. Если длина балки больше 2 метров, то её высота должна быть 400 мм, а если меньше 2 метров, то 300мм. Это условие будет записано так:


= IF ( Длина > 2000, 400, 350)

где "Длина > 2000" - это условие;

"400" - значение в случае, если условие выполняется или, правильнее сказать, значение в случае, когда утверждение "Длина > 2000" - это ИСТИНА

"350" - значение в случае, если условие НЕ выполняется или, правильнее сказать, значение в случае, когда утверждение "Длина > 2000" - это ЛОЖЬ


Итого, выражение ЕСЛИ записывается с помощью формулы = if( Условие, Значение если условие ИСТИА, Значение если условие ЛОЖЬ)

Функции "И, ИЛИ и НЕТ" в Revit

Эти параметры используются как самостоятельные, так и как вспомогательные к ЕСЛИ.


Как самостоятельные

И

Например, у нас есть параметр с типом данных Да/Нет (он же "булевый", он же "галочка", он же "чек-бокс"). "Да" его значение будет или "Нет", ИСТИНУ он обозначает или ЛОЖЬ - это тоже можно задать с помощью формулы. Например сказать "=Длина > 2000" - если длина действительно больше 2000мм, то значение параметра будет ИСТИНА, то есть поставится галочка. Можно сказать, что галочка ставится только если выполняется сразу два условия

= AND (Длина > 2000; Ширина > 500) - если Длина больше и Ширина больше, то выражение ИСТИНА, а значит поставится галочка.


ИЛИ

галочка может зависеть от соблюдения только одного из двух условий = OR (Длина > 2000; Ширина > 500) - если Длина больше, или если Ширина больше, то выражение ИСТИНА, а значит поставится галочка


НЕТ

Нет используем для противопоставления. Например, когда нужно, чтобы был параметр ДА/НЕТ, значение которого противоположно значению другого параметра ДА/НЕТ. Например есть параметр "Левый" , который галочка и значение которого мы задаём вручную и есть параметр "Правый" , который тоже галочка и который мы уже не задаём, а который противопоставляется левому = NOT (Левый)

Функции Revit "И, ИЛИ и НЕТ" как вспомогательные в "ЕСЛИ"

Так как первое поле в ЕСЛИ - это условие, которое должное быть истиной или ложью, то там мы можем использовать "И", "ИЛИ" и "НЕТ"

Например

=IF ( AND (Длина > 2000; Ширина > 500) , 400, 350 )

=IF ( OR (Длина > 2000; Ширина > 500) , 400, 350 )

=IF ( НЕТ (Длина > 2000) , 400, 350 )

ЕСЛИ ЕСЛИ ЕСЛИ...

ЕСЛИ также может быть вложенным условием


Например

Условие - Если длина балки больше 2000мм, то, если её ширина > 300, то высота должна быть 350, а если ширина меньше или равна 300, то высота должна быть 400, а ещё если изначальное условие - ЛОЖЬ и длина балки меньше 2000, то высота = 300.


Условие будет выглядеть так:

= IF (Длина > 2000, IF(Ширина = 300, 350, 400) , 300)

Прочие операций revit

Степень "^"

Возведение в степень: ^ (Пример: x^y, где число x возводится в степень y)

Логарифмирование: log

Извлечение квадратного корня: sqrt (Пример: sqrt(16))

Синус: sin

Косинус: cos

Тангенс: tan

Арксинус: asin

Арккосинус: acos

Арктангенс: atan

10 в степени x —exp(x)

Модуль числа: abs

Pi—pi (3.141493...)

Нюансы формул Revit

  • Размер имеет значение. "Длина" и "длина" - два разных параметра
  • Если переименовать параметр, то он переименуется и во всех формулах где он был использован
  • Если в формуле написать Длина без кавычек, то ревит будет искать параметр Длина, а если написать "Длина" в кавычках, то ревит посчитает что это какой-то текст.
  • Единицы результата вычисления формулы должны совпадать с типом данных параметра. Например иногда формулу нужно домножить на 1мм или разделить на 1мм.

Не помогло? Задай вопрос в чате