Алексей Лобанов

Библиотека универсальных нодов для Dynamo

Друзья, если вы работаете с Dynamo, то наверняка знаете, что одной из проблем является то, что библиотека нодов для него не такая обширная, как-бы этого хотелось. Особенно это касается нодов для работы с элементами Autodesk Revit, но не только.

Из-за этого приходится часто прибегать к включению в визуальные схемы фрагментов кода на Python. Конечно, Dynamo — это молодая и динамично развивающаяся система. Ноды будут со временем появляться.

Но мы начали бороться с этим досадным недоразумением уже сейчас! Первая ласточка — это библиотека универсальных нодов не связанных с Revit — Prorubim DS Common Kit. 

Библиотека выложена в официальном облачном репозитории Dynamopackages.com

Пока она совсем крошечная — там всего три нода, но они очень полезные!

Dynamo1

Принудительный перезапуск отдельных нодов

Нод «ForceChildrensEval» принудительно запускает на повторное выполнение все дочерние ноды, подключенные к нему.

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

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

Dynamo2

В этом примере без нашего нода «ForceChildrensEval» случайное число сгенерируется только один раз и потом меняться не будет, так как изменений в нод «Math.Random» или  его дочерние ноды не вносится. Однако, с промежуточным нодом «ForceChildrensEval» проблема решается.

Глобальные параметры

Два нода — «SetVar» и «GetVar«, реализуют систему глобальных переменных в проекте Dynamo. Это прежде всего удобно, если у вас большой и сложный скрипт в котором начальные значения подключаются в разных его местах и тянуть провода от изначальных нодов неудобно и ненаглядно. Спасибо Хасану Мамаеву за идею!

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

Dynamo

Это только начало

Универсальная библиотека нодов будет дополняться со временем и по мере необходимости.

И у нас уже почти готова первая версия универсальной библиотеки нодов для работы с элементами и проектом Revit! И там не три нода, а несколько десятков! Первая редакция посвящена работе со сборками, легендами, размножением объектов (scattering) и менеджером изображений.

Так что следите за новостями и приходите к нам на курс по Dynamo!