Пакеты: введение
Last updated
Last updated
В Dynamo представлено огромное количество готовых функций, а также имеется обширная библиотека пакетов, которая позволяет существенно расширить возможности Dynamo. Пакет — это набор пользовательских узлов или дополнительных функций. Dynamo Package Manager — это портал для сообщества пользователей, где можно скачать любые пакеты, которые были опубликованы в интернете. Эти инструментарии разрабатываются сторонними поставщиками и предназначены для расширения базовых функций Dynamo, доступных каждому пользователю по первому требованию.
Проекты с открытым исходным кодом, такие как Dynamo, активно развиваются благодаря подобному участию сообщества. Благодаря узкоспециализированным сторонним разработчикам Dynamo может использоваться в самых различных отраслях. По этой причине команда Dynamo сконцентрировала свои усилия на оптимизации разработки и публикации пакетов (подробнее эта тема будет обсуждаться в следующих разделах).
Самый простой способ установки пакета — воспользоваться пунктом меню «Пакеты» в интерфейсе Dynamo. Перейдем к этому пункту и установим пакет. В этом небольшом примере будет установлен популярный пакет для создания прямоугольных панелей на сетке.
В Dynamo выберите Пакеты > Package Manager...
В строке поиска введите «quads from rectangular grid». Через некоторое время отобразятся все пакеты, соответствующие поисковому запросу. Выберем первый пакет с соответствующим именем.
Нажмите кнопку «Установить», чтобы добавить пакет в библиотеку, а затем подтвердите действие. Готово!
Обратите внимание, что в библиотеке Dynamo появилась группа с именем buildz. Это имя разработчика пакета, а в группе содержится пользовательский узел. Его можно сразу использовать.
Используйте узел Code Block для быстрого определения прямоугольной сетки, вывода результата в узел Polygon.ByPoints, а затем узел Surface.ByPatch для просмотра списка только что созданных прямоугольных панелей.
В приведенном выше примере описан пакет с одним пользовательским узлом. Та же самая процедура используется для скачивания пакетов с несколькими пользовательскими узлами и вспомогательными файлами данных. Продемонстрируем это на примере более крупного пакета: Dynamo Unfold.
Как и в приведенном выше примере, выберите Пакеты > Package Manager...
На этот раз выполним поиск по слову DynamoUnfold. Когда пакеты отобразятся, скачайте их, нажав кнопку «Установить», чтобы добавить Dynamo Unfold в библиотеку Dynamo.
В библиотеке Dynamo появилась группа DynamoUnfold с несколькими категориями и пользовательскими узлами.
Рассмотрим структуру файлов и папок пакета.
Сначала выберите «Пакеты» > «Package Manager» > «Установленные пакеты».
Затем нажмите «Показать корневую папку», чтобы открыть корневую папку для этого пакета.
Откроется корневая папка пакета. Обратите внимание, что в ней содержится три папки и файл.
В папке bin находятся файлы DLL. Этот пакет Dynamo был разработан с помощью функции Zero-Touch, поэтому пользовательские узлы хранятся в этой папке.
В папке dyf хранятся пользовательские узлы. Так как данный пакет был разработан без пользовательских узлов Dynamo, папка пуста.
В папке extra хранятся дополнительные файлы, включая файлы примеров.
Файл pkg — это базовый текстовый файл, определяющий параметры пакета. Пока мы не будем его рассматривать.
Если открыть папку extra, в ней можно увидеть несколько файлов примеров, которые были скачаны при установке. Если пакет сопровождается файлами примеров (что бывает не всегда), их следует искать в этой папке.
Откроем файл SphereUnfold.
Нажав после этого кнопку «Запуск» в решателе, получим развернутую сферу. Файлы примеров, подобные этим, используются для обучения работе с новыми пакетами Dynamo.
В Package Manager можно выполнять поиск пакетов с помощью параметров сортировки и фильтрации на вкладке «Поиск пакетов». Существует несколько фильтров: по главной программе, статусу (новый, исключенный или неисключенный), а также по наличию зависимостей в пакете.
Сортировка пакетов позволяет определить пакеты с наивысшей оценкой или наиболее часто скачиваемые пакеты, а также найти пакеты с последними обновлениями.
Чтобы узнать подробнее о каждом пакете, нажмите «Просмотр сведений». При этом в Package Manager открывается боковая панель, на которой представлены такие сведения, как управление версиями и данные о зависимостях, URL-адрес веб-сайта или репозитория, сведения о лицензии и т. д.
Еще один способ найти пакеты Dynamo — воспользоваться веб-сайтом Dynamo Package Manager. Здесь вы можете найти зависимости пакета и сведения о совместимости основной программы/версии, предоставленные разработчиками пакетов. Кроме того, из 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 -> Настройки -> Параметры пакета -> Пути к узлу и файлу пакета, выбрать сетевую папку в качестве расположения установки и попросить добавить этот путь на рабочих станциях к Manage Node and Package Paths
.
Хотя сценарий работает правильно для пакетов, содержащих только пользовательские узлы, он может не работать для пакетов, содержащих двоичные файлы, таких как узлы Zero-Touch. Эта проблема вызвана мерами безопасности, которые .NET Framework применяет к загрузке сборок из сетевой папки. К сожалению, использование элемента конфигурации loadFromRemoteSources
, предложенного в связанном потоке, не является возможным решением для Dynamo, поскольку он распространяется как компонент, а не приложение.
В качестве одного из возможных временных решений можно использовать подключенный сетевой диск, указывающий на сетевое расположение, и сделать так, чтобы рабочие станции ссылались на этот путь. Порядок создания подключенного сетевого диска описан здесь.
Сообщество Dynamo постоянно развивается. Если периодически посещать портал Dynamo Package Manager, можно обнаружить там новые интересные разработки. В следующих разделах пакеты Dynamo будут рассматриваться более подробно и не только с точки зрения конечного пользователя, но и в контексте их самостоятельной разработки.
Рядом с DynamoUnfold выберите меню параметров.