DYNAMO в REVIT

DYNAMO — инструмент для визуального программирования

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

Визуальное программирование — современная альтернатива текстовым форматам программирования (с использованием языков программирования). Вместо ввода текста со сложными и строгими правилами, достаточно соединять предварительно разработанные готовые узлы вместе, последовательно добиваясь нужной информации. Каждый узел уже содержит в себе куски кода, которые пришлось бы создавать в процессе классического программирования — получается некий конструктор алгоритма.

Динамо встроен в программу Ревит в виде модуля, позволяющего параллельно работать в двух этих системах, создавая в Динамо алгоритмы действий, совершаемые сразу же в Ревите.

Кнопки Dynamo в Ревит располагаются на вкладке Управление в блоке Визуальное программирование.

Словарь Dynamo

Ноды — блоки или узлы, из которых собирается скрипт (программный код), сохраняемый в отдельном файле с расширением dyn.

В интерфейсе Динамо все ноды представлены в библиотеке с левой стороны рабочего окна, и распределены по категориям и подкатегориям. Для поиска нужного нода необходимо начать вводить в стоку поиска первые символы названия нода — будут появляться подходящие варианты.

ноды динамо  схема структуры
  • Dictionary — работа с особой структурой данных, называемой словарями
  • Display — работа с цветом
  • Geometry — работа с различными типами геометрии
  • ImportExport — обмен данными с Excel, CSV, TXT и другими файлами
  • Input — создание различных типов данных
  • List — работа со списками данных
  • Math — различные математические операции
  • Revit — взаимодействие с Revit
  • Script — создание скриптов, например на языке python
  • String — работа со строками, т.е. с текстовым типом данных

Примеры нодов:

  • string — нод, создающий текстовую строку,
  • number — нод, создающий число.
  • watch — нод просмотра результатов (его можно подключить на любом этапе скрипта и увидеть промежуточный или конечный результат выполнения алгоритма).
  • nuber slider — нод, создающий число, и позволяющий удобно менять его ползунком, с установленными минимальными и максимальными значениями и шагом.

Работа с нодами

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

Переименование нодов

Для смыслового упорядочивания нодов их можно переименовывать. Для этого два раза щелкаем на шапку нода.

Создание групп из нодов

Если несколько нодов решают одну подзадачу в скрипте, их можно объединить в группу. Для этого ноды выделяются рамкой и правой кнопкой мыши вызывается контекстное меню, в котором выбирается команда Создать группу. У группы можно редактировать заголовок, цвет фона, размер шрифта. Кроме того, в группу можно добавить один или несколько нодов, ноды и группу можно разгруппировать (команды в контекстном меню по правой кнопке мыши).

Ноды в скрипте можно выравнивать (с помощью контекстного меню) , а также оставлять примечания (горячие клавиши Ctrl+W).

Создание в Dynamo своих индивидуальных нодов

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

Список Нодов

Список категорий элементов

Типы данных

форматы данных в Dynamo

Текстовый тип данных (строка)

Текст в Dinamo может создаваться разными способами. Подробнее об операциях со строками читайте на этой странице:

  1. Использование нода String. В поле данных этого нода любые символы превращаются в последовательность символов текста (формата string).
  2. Использование нода Code Block с размещением в нём символов в двойных кавычках (результат — аналогичен действию нода String).
  3. Использование нода String From Object, в который на ввод подаётся другой тип данных, например Число, а на выводе получается текст.
строка из объекта
строка из списка

Числовой формат данных

Числа в Динамо, как и строки, создаются различными видами нодов:

  1. Нод Number
  2. Запись числа в Code Block без кавычек.
  3. Использование слайдеров (Number.Slider)
нод, создающий число
слайдер для создания чисел

Если требуются целые числа, используются ноды Integer и Integer Slider.

создание ползунка для выбора целых чисел

Для перевода символов из текстового формата в числовой используется нод ToNumber.

создание числа из строки

Последовательности чисел создаются обычно в CodeBlock подобной записью: 0..10..2 (где 1 — первое число последовательности, 10 — последнее число последовательности и 2 — шаг чисел)

Как создать последовательность чисел в Design Script

Последовательность чисел в Динамо можно создать также с помощью специального нода:

последовательность чисел с помощью нода Sequence

Примеры автоматизации работы с Dynamo

Система Dynamo поддерживает собственный язык программирования Design Script, кодить на котором возможно внутри универсального нода Code Block. С помощью такой записи алгоритма можно сделать программу более эффективной.