Что такое Dynamo?
Приложение Dynamo — это программное обеспечение, которое можно скачать и использовать в качестве подключаемого модуля для таких программ как Revit.
Dynamo работает с помощью визуального программирования, оно позволяет создавать пользовательские алгоритмы путем определения связей между элементами, образующими последовательность действий.
Эти алгоритмы можно применять для широкого спектра задач — от обработки данных до создания геометрии, — и все это в реальном времени без написания единой строчки кода.
Например, простейший блок, состоящий из 4 нодов – алгоритм суммирования. Создаются два блока для задания чисел и соединяются с блоком суммирования, который в свою очередь соединяется с блоком вывода результата.
Алгоритм суммирования
В итоге у нас получается алгоритм, который мы создали в графической среде. В этом заключается общий принцип работы Dynamo.
Что может Dynamo?
- Получить информацию из Revit и передавать ее обратно. Например, мы можем взять координаты элементов в виде x, y, z, и выбрав какой-нибудь подходящий нам алгоритм их перебора, записать в элементы порядковые номера, чтобы они были пронумерованы слева направо, по часовой или против часовой стрелки, в зависимости от того, что мы хотим.
- Мы можем создавать некоторые элементы по заданным параметрам. Например, небольшой скрипт, который рисует стену по заданной линии или расставить колонны с заданным шагом.
Построение колонн через Dynamo
- Автоматизация рутинных процессов – например, быстро создавать ведомость отделки помещений, заполнять и редактировать параметры, управлять рабочими наборами, оформлять и редактировать листы с чертежами.
- Если использовать Dynamo совместно с программированием Python, то его возможности становятся практически не ограниченными.
Плюсы и минусы
Плюсы:
- Дополнительный функционал к Revit. Мы можем использовать скрипты Динамо, чтобы создать какие-то команды, какие-то кнопки, которых у нас нет в Revit, тем самым расширив его функционал.
- Автоматизация рутины. Мы можем перевести часть повторяющихся алгоритмов в Динамо и проводить их в этой среде, а не вручную. Отсюда и следующий плюс
- Повторяемость из проекта в проект. Если у нас все проекты построены на одном шаблоне, используют одинаковые параметры, то мы можем запускать в каждом из них один и тот же скрипт и получать схожий результат с учетом данных нового проекта. Таким образом экономить время.
- Обширные готовые библиотеки. В Dynamo есть пакеты, которые можно бесплатно скачать, установить и получить расширенный функционал к стандартным командам Dynamo.
- Возможность работы с API (application programming interface) Revit. Это специальная платформа для программистов, с помощью которой они могут обращаться к Revit, разрабатывать для него надстройки, добавлять функционал и т.д. Все это возможно реализовать с помощью скриптов Dynamo.
Надстройки для Revit собранные в один пакет
Минусы:
- Ограниченное число и функционал стандартных нодов (команд). При установке Revit, Dynamo устанавливается автоматически, и в нем есть только ограниченное число команд. Мы можем расширить этот функционал, благодаря бесплатным библиотекам. Их достаточно много, но сложность состоит в том, что в них необходимо разбираться.
- Навыки программирования для сложных скриптов. Иногда для заданной цели нам может не хватить стандартных команд или даже из загружаемых пакетов. В таком случае у нас единственное решение – это учиться, изучать языки программирования.
- Необходимость запускать скрипт после каждого изменения в проект. Особенность Dynamo в том, что это некий алгоритм, который проходит по всем элементам, которые попали к нему в выборку. Соответственно если мы вносим минимальное изменение в объект, нам придется его снова запускать и ждать пока он выполнится.
- Даже если скрипт простой, а объектов много, он будет работать несколько минут, анализируя, есть ли изменения в каждом элементе. Таким образом, это может приводить к временным затратам, которые компенсируются тем, что мы сэкономили, не заполняя все вручную.
Пример скрипта для маркировки арматуры
- Необходимо открыть файл, в котором нужно промаркировать арматуру.
- Если нужно промаркировать с учетом связанных файлов, включаем кнопку связанные файлы и подгружаем их в этот файл. В поле «Название связанного файла содержит -» пишем символы, которые содержаться только в нужных файлах (например, В-вертикальный. или Г-горизонтальный.).
- Запускаем скрипт.
Скрипт в приложении Dynamo
Скрипт в проигрывателе Dynamo