Найти тему
Digital Solution

Работаем в Dynamo эффективно! Советы по настройке рабочей среды

Icons made by https://www.flaticon.com/authors/freepik
Icons made by https://www.flaticon.com/authors/freepik

Привет! Эта статья про то, как эффективнее работать в Dynamo для Revit, в ней вы найдете подборку советов, как упростить процесс создания скриптов и сами скрипты, и какие инструменты для этого можно использовать.

1. Группирование нодов и заметки

Группирование - важный момент, который часто упоминается в уроках и статьях про Dynamo. Даже в Dynamo Primer говорится о важности использования групп. Зачем это надо? В Dynamo мы создаем алгоритм по обработке данных, а логика и последовательность действий играют первостепенную роль! Создавая понятную структуру алгоритма, мы всегда сможем удобно и быстро управлять нашим алгоритмом. Так что не забываем группировать ноды по их логике, а для максимальной стандартизации полезно будет создать шаблон, в котором можно прописать цвета для каждого блока скрипта.

Пример
Пример

Пример таких шаблонов можно посмотреть, в том же Dynamo Primer (раздел Build templates):
https://primer.dynamobim.org/13_Best-Practice/13-2_Graph-Strategies.html

А в конце этой статьи вы даже найдете ссылку на такой шаблон:
https://dynamobim.org/dynamo-graphic-standards-at-white-arkitekter-ab/

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

2. Выравнивание нодов и ноды из скачанных пакетов - Monocle

Этот пункт посвящен сразу двум вопросам, на которые есть один ответ. Скажу сразу ответ - пакет Monocle. Но в отличие от большинства пакетов, он работает не как набор нодов, а как плагин для Dynamo.

Выравнивание нодов тоже важный момент, который поможет поднять читабельность скрипта и привести его внешний вид в порядок. В Dynamo есть стандартные инструменты для выравнивания выбранных нодов: сочетание клавиш Ctrl + L или ПКМ + строка «Выбор выравнивания» в появившемся меню.

В Monocle есть окно с инструментами для выравнивания нодов, очень удобный инструмент, позволяющий экономить ваше время.

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

В Monocle есть удобный инструмент, который к каждому ноду из пакетов (если этот пакет уже скачан) добавляет заметку с названием пакета и его версией! Так в дальнейшем у пользователей скрипта не возникнет вопрос, какой же пакет скачивать, чтобы всё заработало. А для нодов из неизвестных пакетов, Monocle может определить, откуда этот потерявшийся нод.

Monocle в действии
Monocle в действии

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

Подробнее про функционал Monocle в этом видео (с помощью Monocle еще можно задавать нестандартные цвета для групп):

3. Шаблон для скриптов Python

Часто используете Python Script для скриптов Dynamo? Если да, то этот совет будет вам очень полезен.

По этой ссылке вы найдете, как сделать свой собственный шаблон Python кода в Python script:
https://primer.dynamobim.org/10_Custom-Nodes/10-6_Python-Templates.html

Теперь не надо каждый раз в Python Script вспоминать и подгружать библиотеки. Если у вас еще нет своего шаблона, то вы его можете найти по ссылке выше или вот в этой статье:
https://dynamopythonprimer.gitbook.io/dynamo-python-primer/getting-started/boilerplate-setup-code
Здесь вы найдете, что и зачем подгружается в этот шаблон.

Теперь стандартный код куда полезнее
Теперь стандартный код куда полезнее

4. Node to Code

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

Как известно, вместо обычных нодов из библиотеки Dynamo можно использовать Code Block, прописав имя нужного нода (соблюдая правильный синтаксис языка Design Script конечно). Если вы изначально так не сделали, но надо визуально уменьшить скрипт, то всегда можно автоматически перевести стандартные ноды в Code Block, при этом можно сразу группу нодов превратить в один нод Code Block.

Для этого надо выделить нужные ноды, нажать правую кнопку мыши в пустом пространстве скрипта и выбрать «Узел для кодировки» (или Node to code в англоязычной версии). Но будьте аккуратны, иногда Dynamo может не обработать все ноды и вылететь в этот момент.

Сокращаем группу до одного нода
Сокращаем группу до одного нода

На этом всё, спасибо за внимание, работайте в Dynamo эффективно!