Друзья, если вы работаете с Dynamo, то наверняка знаете, что одной из проблем является то, что библиотека нодов для него не такая обширная, как-бы этого хотелось. Особенно это касается нодов для работы с элементами Autodesk Revit, но не только.
Из-за этого приходится часто прибегать к включению в визуальные схемы фрагментов кода на Python. Конечно, Dynamo — это молодая и динамично развивающаяся система. Ноды будут со временем появляться.
Но мы начали бороться с этим досадным недоразумением уже сейчас! Первая ласточка — это библиотека универсальных нодов не связанных с Revit — Prorubim DS Common Kit.
Библиотека выложена в официальном облачном репозитории Dynamopackages.com
Пока она совсем крошечная — там всего три нода, но они очень полезные!
Принудительный перезапуск отдельных нодов
Нод «ForceChildrensEval» принудительно запускает на повторное выполнение все дочерние ноды, подключенные к нему.
Как вы могли заметить, Dynamo перед каждым запуском скрипта анализирует изменение в ноде и изменения в родительских нодах и если изменений нет, то эти ноды повторно не исполняются, чтобы сэкономить вычислительные ресурсы.
Но в ряде случаев необходимо, чтобы нод принудительно исполнялся при каждом запуске. Например, если у вас находится случайное число:
В этом примере без нашего нода «ForceChildrensEval» случайное число сгенерируется только один раз и потом меняться не будет, так как изменений в нод «Math.Random» или его дочерние ноды не вносится. Однако, с промежуточным нодом «ForceChildrensEval» проблема решается.
Глобальные параметры
Два нода — «SetVar» и «GetVar«, реализуют систему глобальных переменных в проекте Dynamo. Это прежде всего удобно, если у вас большой и сложный скрипт в котором начальные значения подключаются в разных его местах и тянуть провода от изначальных нодов неудобно и ненаглядно. Спасибо Хасану Мамаеву за идею!
По сути это передача начальных значений из одних мест скрипта в другие не по проводам, а по воздуху!
Это только начало
Универсальная библиотека нодов будет дополняться со временем и по мере необходимости.
И у нас уже почти готова первая версия универсальной библиотеки нодов для работы с элементами и проектом Revit! И там не три нода, а несколько десятков! Первая редакция посвящена работе со сборками, легендами, размножением объектов (scattering) и менеджером изображений.
Так что следите за новостями и приходите к нам на курс по Dynamo!