Формулы и выражения
В Renga можно автоматически получать из имеющихся в модели параметров, свойств и расчетных характеристик объектов, другие параметры для спецификаций и чертежей. Сделать это можно с помощью формул и выражений, заданных в свойствах типах объектов:

Выражение для числовых свойств может содержать число или формулу. В формуле можно использовать ссылки на значения числовых параметров, свойств, а также расчётных характеристик объектов. Для каждого типа объекта в Renga этот набор отличается.
Тип данных выбирается из выпадающего списка при создании нового свойства. В Renga для свойств можно задавать 11 типов данных, от типа данных зависит какие значения и выражения можно задавать свойству.
Посмотрите примеры в таблице:
Тип данных
|
Допустимые значения
|
Выражение
|
Пример выражения (см. другие примеры ниже)
|
Действительное число
|
Действительное число
|
Действительное число или формула. При составлении выражения в качестве десятичного разделителя действительного числа используется точка
|
Стиль двери.Глубина полотна/Стиль двери.Материал.Теплопроводность
|
Целое число
|
Целое число
|
Целое число или формула
|
ceil(Номинальная длина)
|
Строка
|
Любая последовательность символов
|
Ссылки и формулы в фигурных скобках {}, а также любые символы
|
Балка {round(Габаритная высота поперечного сечения)}х{round(Габаритная ширина поперечного сечения)} мм, L={round(Номинальная длина)} мм
|
Длина
|
Значение в миллиметрах.
|
Число или формула
|
Ширина проступи*Количество ступеней
|
Площадь
|
Значение в квадратных метрах.
|
Число или формула
|
Чистая площадь пола*Понижающий коэффициент
|
Объём
|
Значение в кубических метрах.
|
Число или формула
|
Чистый объём*1.1
|
Масса
|
Значение в килограммах.
|
Число или формула
|
Чистая масса+Общая масса арматурных стержней
|
Угол
|
Значение в десятичных градусах.
|
Число или формула
|
asind((Относительная высота верха базовой линии объекта-Относительная высота низа базовой линии объекта)/Номинальная длина)
|
Булевый
|
Да/Нет
|
Формула, результат которой: 0 - Нет, 1 - Да
|
(Толщина стены>300) ? 1 : 0
|
Логический
|
Да/Нет/Не задано
|
|
|
Перечисление
|
Значение из списка, созданного пользователем. Чтобы создать список предлагаемых значений, введите его в поле Значения перечисления. Разделяйте значения нажатием клавиши ENTER.
|
|
|
Например, вам нужно, не проверяя каждую стену в модели, определить для каких стен необходимо назначить армирование. Можно задать выражение для свойств типа данных Булевый.
Например, задайте следующее выражение для свойства Необходимо армировать:
(Толщина стены>300) ? 1 : 0
Где 1 - Да, 0 - Нет.
Составление выражения
Чтобы задать выражение для свойства:
1. На вкладке Свойства типов объектов выберите в списке тип объекта.
2. В правой части окна выберите свойство, для которого необходимо задать выражение и нажмите кнопку Изменить свойство...
.

3. В окне Изменение свойства отметьте Задать выражение для свойства.
4. Задайте выражение в соответствии с Типом данных.
5. Нажмите OK.
Если свойству объекта назначено значение, то выражение применено не будет. Удалите значение, чтобы расчет был выполнен автоматически.
![]() |
Выражения, заданные для свойств объектов, не сохраняются при вставке объектов, спецификаций и чертежей в другой проект.
|
Составление формул
В Renga формула может быть задана в выражении ограничения в редакторе Профили, в выражении свойства объекта, а также при подготовке или заполнении формы.
При составлении формул можно использовать переменные, арифметические операторы, константы, функции и логические операторы.
Чтобы сравнить значение переменной со строкой или присвоить строковое значение с помощью логического выражения, нужно заключить строку в одинарные кавычки. Имена переменных должны быть записаны без использования кавычек.
Переменные
При задании формулы в выражении ограничения в редакторе Профили в качестве переменных можно использовать имена ограничений, существующих в текущем профиле.
При задании формулы в выражении для свойства объекта в качестве переменных можно использовать ссылки на значения числовых параметров, свойств и расчетных характеристик этого объекта, а также на значения числовых данных Информации о проекте и свойств Проекта, Здания и Участка.
При подготовке или заполнении формы в качестве переменных в формулах можно использовать ссылки на значения числовых свойств Проекта, Здания и Участка, параметров и свойств Чертежа.
Арифметические операторы
| |
( )
|
скобки операторные;
|
+
|
сложить;
|
-
|
вычесть;
|
*
|
умножить;
|
/
|
разделить;
|
%
|
разделить целочисленно;
|
^
|
возвести в степень;
|
Функции
| |
sqrt
|
корень квадратный;
|
ln
|
натуральный логарифм;
|
lg
|
десятичный логарифм;
|
abs
|
абсолютное значение;
|
ceil
|
округление до большего целого числа;
|
floor
|
округление до меньшего целого числа;
|
round
|
округление до ближайшего целого числа;
|
sin
|
синус с аргументом в радианах;
|
cos
|
косинус с аргументом в радианах;
|
tan
|
тангенс с аргументом в радианах;
|
asin
|
арксинус с аргументом в радианах;
|
acos
|
арккосинус с аргументом в радианах;
|
atan
|
арктангенс с аргументом в радианах;
|
sind
|
синус с аргументом в градусах;
|
cosd
|
косинус с аргументом в градусах;
|
tand
|
тангенс с аргументом в градусах;
|
asind
|
арксинус с аргументом в градусах;
|
acosd
|
арккосинус с аргументом в градусах;
|
atand
|
арктангенс с аргументом в градусах;
|
deg
|
перевод из радиан в градусы;
|
rad
|
перевод из градусов в радианы;
|
Логические операторы
| |
==
|
тождественно
|
!=
|
не тождественно
|
>
|
больше
|
<
|
меньше
|
>=
|
больше или равно
|
<=
|
меньше или равно
|
!
|
логическое отрицание
|
&&
|
логическое И
|
||
|
логическое ИЛИ
|
?:
|
логическое выражение вида A ? B : С, то есть если A — истина, то B, иначе C, где A, B и C могут быть выражениями
|
Константы
| ||
M_FI
|
1.6180339887499
|
Φ — иррациональное число золотого сечения.
|
M_E
|
2.71828182845904523536
|
е — основание натурального логарифма.
|
M_PI
|
3.14159265358979323846
|
π — отношение длины окружности к диаметру.
|
M_PI_2
|
1.57079632679489661923
|
π/2
|
M_PI_4
|
0.785398163397448309616
|
π/4
|
M_PI2
|
6.28318530717959
|
2π
|
M_SQRT2
|
1.41421356237309504880
|
Корень квадратный из 2.
|
M_RADDEG
|
57.29577951308
|
Коэффициент пересчета из радиан в градусы (180/π).
|
M_DEGRAD
|
0.01745329251994
|
Коэффициент пересчета из градусов в радианы (π/180).
|
FLT_EPS
|
1.19209290E–07
|
Разница между 1 и наименьшим представленным числом больше чем единица.
|
Примеры
Примеры выражений для строк
Выражение для свойств типа Строка может содержать как формулы, так и ссылки на, например, наименования, а также любые другие символы. При этом ссылки и формулы для получения значений должны быть заключены в фигурные скобки {}.
Пример выражения
|
Пример результата
|
Разъяснения
|
{ceil(Габаритная высота)}х{ceil(Габаритная ширина)}
|
1500х1200
|
Чтобы вывести в спецификацию размер проёма окна или двери, создайте свойство с типом данных строка и задайте это выражение
|
{Наименование типа элемента} {round(Габаритная высота поперечного сечения)}x{round(Габаритная ширина поперечного сечения)} мм, L={round(Номинальная длина)} мм
|
Мауэрлат 150х150 мм, L=4000 мм
|
Чтобы сформировать наименование деревянного изделия в спецификации, необходимо добавить следующие свойства для типа объекта Балка:
1) Наименование типа элемента. Тип данных - Перечисление. Значения: Коньковый брус, Кобылка, Лежень, Мауэрлат, Накосная нога, Подкос, Ригель, Стропильная нога.
2) Наименование. Тип данных - Строка, для этого свойства надо задать указанное выражение. В этом выражении используются ссылки и формулы, функция round округляет расчётные характеристики до целого числа.
|
Примеры расчётных выражений
Расчётные выражения могут содержать арифметические операторы, функции, константы, числовые значения и ссылаться на информацию с числовыми параметрами, имеющуюся в проекте.
Пример выражения
|
Пример результата
|
Разъяснения
|
ceil(Чистый объём*1e9/Объём изделий)
|
2567
|
Чтобы определить количество изделий в чистом объёме, рассчитайте их с помощью формулы с округлением до большего целого числа, как показано в примере
|
Площадь внешней поверхности*0.14
|
15,4
|
Чтобы определить расход лакокрасочных материалов, создайте выражение, содержащим произведение площади поверхности на расход на м2, как показано в примере
|
round(Номинальная длина)
|
4600
|
Чтобы определить номинальную длину с округлением до ближайшего целого числа, создайте выражение, как показано в примере
|
Примеры формул с логическими операторами
Пример выражения
|
|
Пример результата
|
Разъяснения
|
Имя помещения == 'Лоджия' ?
Чистая площадь пола * 0.5 : Имя помещения == 'Балкон' || Имя помещения == 'Терраса' ? Чистая площадь пола * 0.3 : Чистая площадь пола
|
|
12,5
|
Чтобы вычислить значение площади помещения в зависимости от его имени, задайте логическое выражение, которое можно прочесть следующим образом:
Если имя помещения — лоджия, то его площадь равна половине чистой площади пола.
Если же имя помещения — балкон или терраса, то его площадь равна трети чистой площади пола.
В других случаях площадь помещения равна чистой площади пола.
|
{Ширина окна == 900 ? 'ПБ-1' :
Ширина окна == 1200 ? 'ПБ-2' :
'Ошибка'}
|
|
ПБ-1
|
Чтобы определить значение свойства типа данных Строка в зависимости от значения числового параметра, задайте логическое выражение, как показано в примере.
Данный пример можно прочесть следующим образом: если ширина окна равна 900 мм, то значение свойства ПБ-1. Если же ширина окна равна 1200 мм, то значение свойства ПБ-2. В других случаях — Ошибка.
|
Материал.Тип материала=='Заполнитель'? Чистый объём : Чистая площадь
{Материал.Тип материала=='Заполнитель'? 'м3' : 'м2'}
|
|
Бетон 25,4 м3
Обои 116 м2
|
Чтобы создать ведомость расхода материалов, в которой определяется объём или площадь материала в зависимости от типа материала, необходимо добавить следующие свойства:
1) Для типа объекта Материал: - Тип материала. Тип данных - Перечисление. Значения: Заполнитель и Покрытие.
2) Для типа объекта Слой: - Количество материала, для этого свойства задайте первое логическое выражение из примера.
3) Для типа объекта Слой: -Единица измерения. Тип данных - Строка. Для этого выражения задайте второе логическое выражение из примера.
|