> For the complete documentation index, see [llms.txt](https://primer2.dynamobim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://primer2.dynamobim.org/ru/3_user_interface/2-library.md).

# Библиотека

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

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-aa756c7faa348e52653feb29b8957977f66774f8%2Flibrary-library-ui.png?alt=media)

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

Мы рассмотрим [иерархические категории узлов](#library-hierarchy-for-categories), способ [быстрого поиска узлов в библиотеке](#search-by-hierarchy), а также некоторые из [часто используемых узлов](#frequently-used-nodes).

### Иерархия библиотек для категорий

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

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

{% hint style="info" %}
Начинать знакомство с программой рекомендуется с меню Geometry, так как в них представлено наибольшее количество узлов.
{% endhint %}

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-9a46b13b1d449d76b3e66f164fa06482159ca3a2%2Flibrary-modified-and-resize-library-categories.jpg?alt=media)

> 1. Библиотека
> 2. Категория
> 3. Подкатегория
> 4. Узел

Далее внутри подкатегории выполняется распределение узлов в зависимости от их функции: **создание** данных, выполнение **действия** или **запрос** данных.

* ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-7535d7eb2d637f545ef595713756c730de0adc28%2Fuser-interface-create.jpg?alt=media) **Создание**: создание или построение геометрии с нуля. Например, окружности.
* ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-088aef3f1cc0549f9ef74af850e726caf2783e81%2Fuser-interface-action.jpg?alt=media) **Действие**: выполнение действия с объектом. Например, масштабирование окружности.
* ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-4c74657428b1cd9e8195f0ee5b35735cb2bf9601%2Fuser-interface-query.jpg?alt=media) **Запрос**: получение свойства уже существующего объекта. Например, получение радиуса окружности.

Наведите указатель на узел, чтобы посмотреть подробные сведения, помимо его имени и значка. Такие подсказки позволяют быстро определить функции, выполняемые узлом, какие данные ему требуются на входе, и что он выдает на выходе.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-8c94b135ef4e28fcbfd7555ee01e84e855e7635c%2Fuser-interface-node-description.jpg?alt=media)

> 1. Описание: описание узла на обычном языке.
> 2. Значок: увеличенная версия значка, используемого в меню библиотеки.
> 3. Входные данные: наименование, тип и структура данных.
> 4. Выходные данные: наименование, тип и структура данных.

### Быстрый поиск в библиотеке

Если вам с относительной точностью известно, какой узел необходимо добавить в рабочее пространство, введите ключевые слова в поле **Поиск**, чтобы найти все соответствующие узлы.

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

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-7b997bfc01c563877255ed8ef7270df3efa1f220%2Fuser-interface-search.jpg?alt=media)

#### Поиск по иерархии

Поиск узлов можно выполнять не только по ключевым словам, но и по иерархии, разделяя ее уровни точкой в поле поиска, или с помощью узлов Code Block (в которых используется *текстовый язык Dynamo*).

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

При вводе тех или иных фрагментов расположения узла в библиотечной иерархии в формате `library.category.nodeName` отображаются различные результаты.

* `library.category.nodeName`

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-c7c2c14cc1843dcae227c9bbcfae397039d2ebf2%2Flibrary-search-by-hierarchy-1-geometry-point-by-coordinates.jpg?alt=media)

* `category.nodeName`

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-a4f8e09baf730d972acadbb6614bcc196822b6b4%2Flibrary-search-by-hierarchy-2-point-by-coordinates.jpg?alt=media)

* `nodeName` или `keyword`

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-31ddb1110fde890457d91982ab48021ec0919dc4%2Flibrary-search-by-hierarchy-3-by-coordinates.jpg?alt=media)

В рабочем пространстве имя узла обычно представлено в формате `category.nodeName`. Есть некоторые исключения, в частности, узлы категорий Input и View.

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

* Узлы из большинства библиотек содержат формат категории.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-3367ffb487b26825473c590cc7e7953ff29c83ed%2Flibrary-node-category-differences-1.jpg?alt=media)

* Узлы `Point.ByCoordinates` и `UV.ByCoordinates` имеют одинаковое имя, но относятся к разным категориям.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-80eb03b413c7bfd031d519439d10e077916583de%2Flibrary-node-category-differences-2.jpg?alt=media)

* К исключениям относятся встроенные функции, узлы Core.Input, Core.View и логические операторы.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-c68204a41a5e5986eec0adf010f73342f9a96ee3%2Flibrary-node-category-differences-3.jpg?alt=media)

### Часто используемые узлы

В базовый комплект установки приложения Dynamo входят сотни узлов. Какие из них наиболее важны при разработке визуальных программ? Рассмотрим узлы, которые позволяют определить параметры программы (**Input**), отображать результаты действия, выполняемого тем или иным узлом (**Watch**), и задавать входные данные или функции с помощью горячей клавиши (**Code Block**).

#### Узлы Input

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

| Узел           |                                                                                                                                                                                                                       | Узел           |                                                                                                                                                                                                                       |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Логический     | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-67ee50df2e0e23eb942d7621ec8a23a06fc2ed09%2Flibrary-boolean.jpg?alt=media)        | Количество     | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-cb60039615673dc39cd2b6d4e8922e57a1355503%2Flibrary-number.jpg?alt=media)         |
| String         | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-f4e00a4ec0457cdb1644f26e87eec928ccc3a0b0%2Flibrary-string.jpg?alt=media)         | Number Slider  | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-5866edeccc7098b56ab0e3c59d54ac8ef8fa4d0e%2Flibrary-number-slider.jpg?alt=media)  |
| Directory Path | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-2fbb4f43632bf799012d0d59f6c81077088830fc%2Flibrary-directory-path.jpg?alt=media) | Integer Slider | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-1c55e236b4fb6073f7f6127c905d1f4c4c5e0fe8%2Flibrary-integer-slider.jpg?alt=media) |
| File Path      | ![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-de82ac1d1f24374b522e2ac17ac2d4e1a4640d02%2Flibrary-file-path.jpg?alt=media)      |                |                                                                                                                                                                                                                       |

#### Узлы Watch и Watch3D

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

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-cc29ebe7ed491801e7ed093053319fa687ac95f5%2Flibrary-node-preview.jpg?alt=media)

Элемент удобно просматривать в узле **Watch**.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-bea827892c5da51f78c46bb8003fa99a0bb6b08f%2Flibrary-watch-node.jpg?alt=media)

Кроме того, результаты геометрии можно просмотреть с помощью узла **Watch3D**.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-6d314a342370a64dc4abf1661cb26fc0fb3da9f8%2Flibrary-watch3d-node.gif?alt=media)

Оба этих узла находятся в категории видов основной библиотеки.

{% hint style="info" %}
Совет. Иногда при работе с большим количеством узлов пользоваться функцией 3D-просмотра может быть неудобно. В этом случае можно снять флажок фонового просмотра в меню «Параметры» и использовать узел Watch3D для предварительного просмотра геометрии.
{% endhint %}

#### Code Block

Узлы Code Block позволяют создавать блоки кода, состоящие из строк, разделенных запятыми. Это так же просто, как и с узлом `X/Y`.

Кроме того, узлы Code Block можно использовать как горячую клавишу для ввода чисел или вызова другой функции узла. Для этого используется синтаксис, соответствующий соглашению об именовании для текстового языка Dynamo — [DesignScript](/ru/8_coding_in_dynamo/8-1_code-blocks-and-design-script/2-design-script-syntax.md).

Ниже приведен простой пример (с инструкциями) по использованию Code Block в сценарии.

![](https://2422276774-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Frrl0CzV5yPtxYRNkwD4h%2Fuploads%2Fgit-blob-61d1c0b5e4d8334fd7b4b1fefe6ea6f3daf59eef%2Flibrary-codeblockdemo.gif?alt=media)

1. Дважды щелкните мышью для создания узла Code Block.
2. Введите `Circle.ByCenterPointRadius(x,y);`.
3. Щелкните в рабочем пространстве, чтобы отменить выбор и автоматически добавить входные порты `x` и `y`.
4. Создайте узлы Point.ByCoordinates и Number Slider, затем соедините их с портами ввода в узле Code Block.
5. Результат выполнения визуальной программы отображается в виде окружности в окне 3D-просмотра.
