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 своих индивидуальных нодов
В Динамо можно пользоваться не только стандартными нодами, имеющимися в дереве выбора, но и создавать свои собственные из нескольких стандартных. Например, если часть скрипта из нескольких нодов часто используется в проекте, эти ноды можно выделить и из контекстного меню выбрать функцию «Создать собственный нод». Появится единственный нод, повторяющий функции нескольких. Его можно переименовать, а также настроить отображение входных и выходных слотов.
Типы данных
Текстовый тип данных (строка)
Текст в Dinamo может создаваться разными способами. Подробнее об операциях со строками читайте на этой странице:
- Использование нода String. В поле данных этого нода любые символы превращаются в последовательность символов текста (формата string).
- Использование нода Code Block с размещением в нём символов в двойных кавычках (результат — аналогичен действию нода String).
- Использование нода String From Object, в который на ввод подаётся другой тип данных, например Число, а на выводе получается текст.
Числовой формат данных
Числа в Динамо, как и строки, создаются различными видами нодов:
- Нод Number
- Запись числа в Code Block без кавычек.
- Использование слайдеров (Number.Slider)
Если требуются целые числа, используются ноды Integer и Integer Slider.
Для перевода символов из текстового формата в числовой используется нод ToNumber.
Последовательности чисел создаются обычно в CodeBlock подобной записью: 0..10..2 (где 1 — первое число последовательности, 10 — последнее число последовательности и 2 — шаг чисел)
Последовательность чисел в Динамо можно создать также с помощью специального нода:
Примеры автоматизации работы с Dynamo
Система Dynamo поддерживает собственный язык программирования Design Script, кодить на котором возможно внутри универсального нода Code Block. С помощью такой записи алгоритма можно сделать программу более эффективной.