> For the complete documentation index, see [llms.txt](https://truebim.gitbook.io/truebim-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://truebim.gitbook.io/truebim-guide/theory/families/parameter.md).

# Параметры

//theory/families/parameter

## Введение

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

## Создание параметров

В Редакторе семейств предусмотрено два пути создания параметра. Первый - в окне "Типоразмеры в семействе" с помощью инструмента "Создать параметр". Второй - непосредственно при [параметризации](/truebim-guide/theory/families/parameter.md#parametrizaciya) элемента или вложенного семейства (вид зависит от типа привязываемого параметра).

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

![](https://3381579655-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4O_oE10hmC5cVkn2MS%2F-MR-k_oE0afodN6R2uu-%2F-MR-mj-8kgDf1kJix84x%2Fimage.png?alt=media\&token=6d576fff-2c7f-4f21-bb3a-dd64de0edb83)

### Тип параметра

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

### Типы данных

В версии Revit 2021 имеется 137 типов данных рассортированных по 7 категориям. Перечислять их все не будем. Отметим лишь что большинство из них являются по своей сути числом с определенной размерностью. Здесь рассмотрим основные и характерные типы данных.

#### Текст

Данные типа "Текст" представляют собой набор символов написанных в одну строку. Применяется для хранения текстовых данных необходимых для специфицирования семейства в проекте.

#### Целое

Данные типа "Целое" представляют собой целое число. Применяются для настройки количества элементов массивов.

#### Количество (Число)

Данные типа "Количество" представляют собой число. Применяются для вычисления и хранения безразмерных численных величин имеющих дробную часть.

#### URL

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

#### Материал

Данные типа "Материал" представляют собой ссылку на один из материалов присутствующих в проекте. Применяются для назначения материалов элементов.

#### Изображение

Данные типа "Изображение" представляют собой ссылку на одно из изображений загруженных в проект. Применяются для назначения изображений и отображении их в спецификациях.

#### Да/Нет

Данные типа "Да/Нет" представляют собой флаг переключения значений True/Flase (Истина/Ложь). Применяются для управлению видимостью элементов, в условных операторах и управления значениями параметров.

#### Многострочный текст

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

### Группирование параметров

В Revit 2021 имеется 45 групп параметров. Перечислять их все не будем. Отметим лишь что создавать пользовательские группы параметров в Revit невозможно. Порядок групп параметров строго определен и не доступен для редактирования пользователем.

### Тип или экземпляр

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

> **Пример**\
> Представим некоторый параллелепипед размеры которого управляются параметрами "a", "b" и "h". Параметры "a" и "b" являются параметрами типа, параметр "h" - параметром экземпляра. Допустим, что в условном проекте имеется три экземпляра рассматриваемого семейства одного типоразмера. Тогда значение параметра "h" трех этих экземпляров может отличаться, а значения параметров "a" и "b" - нет. Не трудно догадаться, что реальным примером такого элемента может быть колонна. В таком случае её сечение (параметры "a" и "b") должны быть параметрами типоразмера, а параметр "h" - параметром экземпляра для избежания необходимости создания отдельных типоразмеров колонн того же сечения, но разной высоты.

{% hint style="warning" %}
Параметры экземпляра могут зависеть от параметров типа, а параметры типа от параметров экземпляра - не могут.
{% endhint %}

#### Параметр отчёта

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

{% hint style="info" %}
Примерами параметров отчёта может служить толщина стены для семейства двери в проекте (позволяет рассортировать двери по толщинам стен и убедиться в корректности назначений перемычек и величин откосов), или длина балки в семействе каркаса несущего для участия в формулах подсчёта массы и т.д.
{% endhint %}

### Подсказка

Подсказка является важным свойством параметра. Она представляет собой многострочный текст ограниченный 250 символами (пробелы и переходы на следующую строку учитываются при подсчёте).

{% hint style="danger" %}
Не пренебрегайте заполнением подсказок параметров. Просто примите это как часть работы по созданию семейства и всегда описывайте что регулирует параметр и какие может иметь значения.
{% endhint %}

## Формулы

Формулы в Revit служат для вычисления значений параметров. Формульные вычисления можно использовать не во всех параметрах, например, формулы нельзя использовать для параметров с типом данных:

* URL
* Изображение
* Материал
* Многострочный текст

В Revit доступны следующие функции, формульные операции и константы:

|                   Синтаксис                   |                                                                                                        Описание                                                                                                        |
| :-------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
|                   КОНСТАНТЫ                   |                                                                                                                                                                                                                        |
|                    **pi()**                   |                                                                                         Отношение длины окружности к диаметру.                                                                                         |
|                    ФУНКЦИИ                    |                                                                                                                                                                                                                        |
|        **or(**&#x78;,y,....,&#x7A;**)**       |                              <p><strong>ИЛИ</strong><br>Условный оператор при котором значение истинно, если выполняется хотя бы одно из условий. Условия перечисляются через запятую.</p>                             |
|       **and(**&#x78;,y,....,&#x7A;**)**       |                                     <p><strong>И</strong><br>Условный оператор при котором значение истинно, если выполняется все условия. Условия перечисляются через запятую.</p>                                    |
|              **not(**&#x78;**)**              |                                                     <p><strong>НЕ</strong></p><p>Условный оператор при котором значение истинно, если указанное значение ложно.</p>                                                    |
|          **if(**&#x78;,y,&#x7A;**)**          | <p><strong>ЕСЛИ</strong></p><p>Условный оператор который будет выполнять действия в зависимости от значения параметра. Условие пишется первым, затем указывается действие "если да", затем указывается "если нет".</p> |
| **size\_lookup(**"x","y",z,a,b...,&#x63;**)** |                                                     <p><strong>ТАБЛИЦА ВЫБОРА</strong></p><p>Функция обращается к таблице выбора для поиска значения параметра.</p>                                                    |
|                    ОПЕРАЦИИ                   |                                                                                                                                                                                                                        |
|               &#x78;**=**&#x79;               |                                                                                                   Проверка равенства                                                                                                   |
|               &#x78;**+**&#x79;               |                                                                                                        Сложение                                                                                                        |
|               &#x78;**-**&#x79;               |                                                                                                        Вычитание                                                                                                       |
|               &#x78;**\***&#x79;              |                                                                                                        Умножение                                                                                                       |
|               &#x78;**/**&#x79;               |                                                                                                         Деление                                                                                                        |
|               &#x78;**^**&#x79;               |                                                                                                  Возведение в степень                                                                                                  |
|                   **log**x y                  |                                                                                                        Логарифм                                                                                                        |
|               **ln(**&#x78;**)**              |                                                                                                  Натуральный логарифм                                                                                                  |
|              **sqrt(**&#x78;**)**             |                                                                                                    Квадратный корень                                                                                                   |
|              **sin(**&#x78;**)**              |                                                                                                          Синус                                                                                                         |
|              **cos(**&#x78;**)**              |                                                                                                         Косинус                                                                                                        |
|              **tan(**&#x78;**)**              |                                                                                                         Тангенс                                                                                                        |
|              **asin(**&#x78;**)**             |                                                                                                        Арксинус                                                                                                        |
|              **acos(**&#x78;**)**             |                                                                                                       Арккосинус                                                                                                       |
|              **atan(**&#x78;**)**             |                                                                                                       Арктангенс                                                                                                       |
|              **exp(**&#x78;**)**              |                                                                                                       Экспонента                                                                                                       |
|              **abs(**&#x78;**)**              |                                                                                                         Модуль                                                                                                         |
|             **round(**&#x78;**)**             |                                                                                             Округление до ближайшего целого                                                                                            |
|            **roundup(**&#x78;**)**            |                                                                                        Округление до ближайшего большего целого                                                                                        |
|           **rounddown(**&#x78;**)**           |                                                                                        Округление до ближайшего меньшего целого                                                                                        |

{% hint style="warning" %}
Обратите внимание, что Revit при выполнении вычислений учитывает размерности типов данных. Например, что бы получить значение параметра с типом данных "Площадь" \[кв.м] потребуется, например, умножить два параметра с типом данных "Длина" \[м] или разделить значение параметра с типом данных "Объем" \[куб. м] на значение параметра с типом данных "Длина" \[м].&#x20;
{% endhint %}

## Параметризация

Параметризация называется наложение зависимостей на элементы семейства с помощью параметров для дальнего управления ими из проекта или установления взаимозависимостей между ними. Количество элементов, на которые назначен один и тот же параметр не ограничено. Рассмотрим основные типы параметризации. Предварительно отметим что для нерассмотренных типов данных методика параметризации ничем не отличается. Параметризация с типом данных "[Типоразмер из семейства](/truebim-guide/theory/families/nested.md#tiporazmer-iz-semeistva)" будет рассмотрена в разделе работы с [вложенными семействами](/truebim-guide/theory/families/nested.md#vvedenie).

### Размеры

{% hint style="info" %}
Для параметризации размеров используются параметры типа данных "Длина" \[мм/см/дм/м и т.д.] или параметры с единицами измерения длины, например, "Длина армирования" \[мм/см/дм/м и т.д.].
{% endhint %}

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

![](https://3381579655-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4O_oE10hmC5cVkn2MS%2F-MRV_lljG0BBkR4Y4MNT%2F-MRVbgrdunoexMf6AMOZ%2Fimage.png?alt=media\&token=c1219463-c9d0-458d-81f2-24db5c238517)

Стоит обратить внимание на размерные лини со знаками равенства на предыдущем скриншоте. Такие размерные линии помогают управлять направлением изменения размеров. Если такие линии есть, размеры будут изменяться в соответствии с установленными равенствами, если нет - размер может измениться в произвольную сторону.

### Видимость

{% hint style="info" %}
Для параметризации видимости используются параметры типа данных "[Да/Нет](/truebim-guide/theory/families/parameter.md#da-net)" \[True/False].
{% endhint %}

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

![](https://3381579655-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4O_oE10hmC5cVkn2MS%2F-MRV_lljG0BBkR4Y4MNT%2F-MRVf6xhYlL-7yPMU87q%2Fimage.png?alt=media\&token=cf3108c8-cbec-487f-b37b-be6c61ad73f7)

### Материал

{% hint style="info" %}
Для параметризации материала используются параметры типа данных "[Материал](/truebim-guide/theory/families/parameter.md#material-1)" \[True/False].
{% endhint %}

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

![](https://3381579655-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4O_oE10hmC5cVkn2MS%2F-MRVglOgfrRubQzkyAX_%2F-MRVhmtR-tVk0a_qjwkR%2Fimage.png?alt=media\&token=6849b728-a310-44ec-af40-9653165a4e59)

### Количество элементов

{% hint style="info" %}
Для параметризации количества элементов используются параметры типа данных "[Целое](/truebim-guide/theory/families/parameter.md#celoe)" \[ ].
{% endhint %}

Параметризация количества осуществляется с помощью назначения параметров на управляющий элемент массива. Для этого необходимо создать массив, выбрать один из его элементов, выбрать появившийся управляющий элемент и на вспомогательной строке "Массив | Изменить" выбрать из списка один из уже существующих параметров, или выбрать пункт\
"<Добавить параметр...>" для создания нового параметра.

![](https://3381579655-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4O_oE10hmC5cVkn2MS%2F-MRVhrwjxPy0sHLyYt3N%2F-MRVjO8lODfebkWZ4LwE%2Fimage.png?alt=media\&token=94e41744-02b6-4aee-9e9c-33dac235d878)
