> 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/6_custom_nodes_and_packages/6-2_packages/1-introduction.md).

# Пакеты: введение

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

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

### Установка пакетов

Самый простой способ установки пакета — воспользоваться пунктом меню «Пакеты» в интерфейсе Dynamo. Перейдем к этому пункту и установим пакет. В этом небольшом примере будет установлен популярный пакет для создания прямоугольных панелей на сетке.

В Dynamo выберите *Пакеты > Package Manager...*

<figure><img src="/files/Ul37O0QILpPBafWjbNQu" alt=""><figcaption></figcaption></figure>

В строке поиска введите «quads from rectangular grid». Через некоторое время отобразятся все пакеты, соответствующие поисковому запросу. Выберем первый пакет с соответствующим именем.

Нажмите кнопку «Установить», чтобы добавить пакет в библиотеку, а затем подтвердите действие. Готово!

<figure><img src="/files/3dfXfNShAE4ixsJLk5Ci" alt=""><figcaption></figcaption></figure>

Обратите внимание, что в библиотеке Dynamo появилась группа с именем buildz. Это имя разработчика пакета, а в группе содержится пользовательский узел. Его можно сразу использовать.

!

Используйте узел **Code Block** для быстрого определения прямоугольной сетки, вывода результата в узел **Polygon.ByPoints**, а затем узел **Surface.ByPatch** для просмотра списка только что созданных прямоугольных панелей.

!

### Установка папки пакета — DynamoUnfold

В приведенном выше примере описан пакет с одним пользовательским узлом. Та же самая процедура используется для скачивания пакетов с несколькими пользовательскими узлами и вспомогательными файлами данных. Продемонстрируем это на примере более крупного пакета: Dynamo Unfold.

Как и в приведенном выше примере, выберите *Пакеты > Package Manager...*

На этот раз выполним поиск по слову *DynamoUnfold*. Когда пакеты отобразятся, скачайте их, нажав кнопку «Установить», чтобы добавить Dynamo Unfold в библиотеку Dynamo.

<figure><img src="/files/mu0DT6BKzR6q6HQpvj53" alt=""><figcaption></figcaption></figure>

В библиотеке Dynamo появилась группа *DynamoUnfold* с несколькими категориями и пользовательскими узлами.

!

Рассмотрим структуру файлов и папок пакета.

1. Сначала выберите «Пакеты» > «Package Manager» > «Установленные пакеты».
2. Рядом с DynamoUnfold выберите меню параметров .
3. Затем нажмите «Показать корневую папку», чтобы открыть корневую папку для этого пакета.

<figure><img src="/files/mFWIWWq4Nd1MOgmuflyQ" alt=""><figcaption></figcaption></figure>

Откроется корневая папка пакета. Обратите внимание, что в ней содержится три папки и файл.

!

> 1. В папке *bin* находятся файлы DLL. Этот пакет Dynamo был разработан с помощью функции Zero-Touch, поэтому пользовательские узлы хранятся в этой папке.
> 2. В папке *dyf* хранятся пользовательские узлы. Так как данный пакет был разработан без пользовательских узлов Dynamo, папка пуста.
> 3. В папке extra хранятся дополнительные файлы, включая файлы примеров.
> 4. Файл pkg — это базовый текстовый файл, определяющий параметры пакета. Пока мы не будем его рассматривать.

Если открыть папку extra, в ней можно увидеть несколько файлов примеров, которые были скачаны при установке. Если пакет сопровождается файлами примеров (что бывает не всегда), их следует искать в этой папке.

Откроем файл SphereUnfold.

Нажав после этого кнопку «Запуск» в решателе, получим развернутую сферу. Файлы примеров, подобные этим, используются для обучения работе с новыми пакетами Dynamo.

!

### Просмотр информации о пакете

В Package Manager можно выполнять поиск пакетов с помощью параметров сортировки и фильтрации на вкладке «Поиск пакетов». Существует несколько фильтров: по главной программе, статусу (новый, исключенный или неисключенный), а также по наличию зависимостей в пакете.

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

Чтобы узнать подробнее о каждом пакете, нажмите «Просмотр сведений». При этом в Package Manager открывается боковая панель, на которой представлены такие сведения, как управление версиями и данные о зависимостях, URL-адрес веб-сайта или репозитория, сведения о лицензии и т. д.

### Веб-сайт Dynamo Package Manager

Еще один способ найти пакеты Dynamo — воспользоваться веб-сайтом [Dynamo Package Manager](http://dynamopackages.com). Здесь вы можете найти зависимости пакета и сведения о совместимости основной программы/версии, предоставленные разработчиками пакетов. Кроме того, из Dynamo Package Manager можно скачивать файлы пакетов Dynamo, но делать это непосредственно из Dynamo проще.

### Расположение файлов пакетов на локальном компьютере.

Если требуется узнать, где хранятся файлы пакетов, в верхней части окна навигации выберите «Dynamo» > «Настройки» > «Параметры пакета» > «Пути к узлу и файлу пакета», чтобы найти текущую корневую папку.

!

По умолчанию пакеты устанавливаются в следующей папке: *C:/Users/\[имя пользователя]/AppData/Roaming/Dynamo/\[версия Dynamo*.

### Настройка общей папки для пакетов в офисе

Для пользователей, которые спрашивают, можно ли развернуть Dynamo (в любой форме) с предварительно подключенными пакетами: добавьте пользовательский путь к пакету в каждую установку, при этом можно будет централизованно управлять установками Dynamo для всех пользователей.

**Добавление сетевой папки, в которой ответственный за BIM или другие пользователи могут контролировать заполнение папки пакетами, утвержденными организацией**

В пользовательском интерфейсе отдельного приложения перейдите в раздел *Dynamo -> Настройки -> Параметры пакета -> Пути к узлу и файлу пакета*. В диалоговом окне нажмите кнопку «Добавить путь» и перейдите к сетевому расположению ресурса общего пакета.

Автоматизированный процесс предполагает добавление информации в файл конфигурации, устанавливаемый вместе с Dynamo.\
`C:\Users\[Имя_пользователя]\AppData\Roaming\Dynamo\Dynamo Revit\[Версия Dynamo]\DynamoSettings.xml`

По умолчанию конфигурация Dynamo для Revit имеет следующий вид:

`<CustomPackageFolders>`

`<string>C:\Users\[Username]\AppData\Roaming\Dynamo\Dynamo Revit\[Dynamo Version]</string>`

`</CustomPackageFolders>`

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

`<CustomPackageFolders>`

`<string>C:\Users\[Username]\AppData\Roaming\Dynamo\Dynamo Revit\[Dynamo Version]</string>`

`<string>N:\OfficeFiles\Dynamo\Packages_Limited</string>`

`</CustomPackageFolders>`

Для централизованного управления этой папкой следует сделать ее доступной только для чтения.

### Загрузка пакетов с двоичными файлами из сетевой папки

#### Ситуация

Организации может потребоваться стандартизировать пакеты, устанавливаемые разными рабочими станциями и пользователями. Чтобы сделать это, можно установить эти пакеты из раздела *Dynamo -> Настройки -> Параметры пакета -> Пути к узлу и файлу пакета*, выбрать сетевую папку в качестве расположения установки и попросить добавить этот путь на рабочих станциях в разделе `Управление путями к узлу и пакету`.

#### Проблема

Хотя сценарий работает правильно для пакетов, содержащих только пользовательские узлы, он может не работать для пакетов, содержащих двоичные файлы, таких как узлы Zero-Touch. Эта проблема вызвана [мерами безопасности](https://stackoverflow.com/questions/5328274/load-assembly-from-network-location), которые .NET Framework применяет к загрузке сборок из сетевой папки. К сожалению, использование элемента конфигурации `loadFromRemoteSources`, предложенного в связанном потоке, не является возможным решением для Dynamo, поскольку он распространяется как компонент, а не приложение.

#### Временное решение

В качестве одного из возможных временных решений можно использовать подключенный сетевой диск, указывающий на сетевое расположение, и сделать так, чтобы рабочие станции ссылались на этот путь. Порядок создания подключенного сетевого диска описан [здесь](https://support.microsoft.com/ru-ru/help/4026635/windows-10-map-a-network-drive).

### Дальнейшая работа с пакетами

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