Настройка Dyno

1. Установка и настройка


 Требования

Dyno работает с Revit 2015, 2016, 2017 и 2018. Dyno протестирована с версией Dynamo 1.1, 1.2, 1.3.

С другими версиями работа не гарантируется!

Скачивание и установка

Запустите инсталлятор. Он автоматически установит и интегрирует Dyno во все версии Revit.

Revit и браузер Dyno

Запустите Revit и вы увидите палитру браузера Dyno. В нем отображается содержимое хранилища скриптов.

Браузер можно включать и отключать на вкладке "Надстройки" в ленте инструментов.

Организация скриптов Dynamo

Вместе с программой на компьютер устанавливается папка - пример хранилища скриптов Dynamo и их дополнительных настроек (пресетов).

По умолчанию хранилище проектов расположено в пользовательской папке Windows: <пользователь> /appdata/roaming/dyno/sampleworkspaces/

В папке-хранилище расположен тестовый скрипт Dynamo и тестовый файл пресета.

Настройки, файл конфигурации и местоположения хранилища

В папке <пользователь>/appdata/roaming/dyno/ находится файл настроек программы - dyno.cfg

Настройки также можно редактировать, открыв окно настроек из контекстного меню Dyno браузера "Settings".

В окне настроек можно добавлять пути к одной или нескольким папкам-хранилищам скриптов с помощью кнопки "+". Вы можете использовать несколько хранилищ и совмещать их в одном браузере Dyno.

2. Использование


Состав хранилища

Скрипты в хранилище могут быть организованы в любую древовидную структуру любой степени вложенности. Например:

[SampleWorkspaces] //это папка-хранилище
   workspace1.dyn //это файл скрипта
   [Test]
       workspace2.dyn
       workspace3.dyn
   [Grids Renumbering]
       workspace4.dyn
   [Rooms Calculating]
       [Apartments]
           workspace5.dyn
   [Adaptive Components Generating]
           workspace6.dyn

Запуск скриптов

После размещения файлов скриптов или их обновления, можно сразу обновить содержимое браузера с помощью опции контекстного меню "Rescan Workspace Storage".

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

Начальные значения скриптов

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

Для того, чтобы нод был помечен, как начальное значение, в Dynamo у него должен стоять атрибут в контекстном меню   "Is Input". Поддерживаемые типы нодов начальных значений:

  • Boolean
  • Number, Integer Slider, Number Slider
  • String, File Path, Directory Path
  • Select Model Element, Select Model Elements
  • Select Face, Select Faces
  • Select Edge, Select Edges
  • Select Point on Face

Расширенная настройка работы со скриптами и файлы пресетов

При необходимости дополнительная настройка работы скрипта и его начальных значений реализуется с помощью пресетов.

Пресеты могут более гибко и детально описывать поведение скрипта, особенности запуска его интерфейса, сразу несколько групп начальных значений с дополнительными настройками и т. д.

Создавать пресеты необязательно, если у ваши скрипты автоматически работают или или их выполнение и работа с начальными значениями вас полностью устраивает.

Пресеты - это текстовые файлы с расширением .dpr

Каждый файл пресетов делается на отдельный скрипт Dynamo и должен иметь такое-же имя файла.

Внутри файла пресетов может содержиться несколько пресетов на один скрипт.

Каждый пресет задает некоторый набор начальных значений нодов скрипта, а также некоторые дополнительные настройки.

Например, вместе с программой устанавливаются тестовые примеры, которые содержатся в хранилище в подпапке "Test":

[SampleWorkspaces] //это папка-хранилище
    [Test]
        test.dyn //это файл тестового проекта Dynamo
        test.dpr //это файл с пресетами для этого проекта

Самый быстрый способ создания файла пресетов для скрипта - выбрать скрипт в браузере Dyno и воспользоваться опцией в контекстном меню "Open Presets File".

Если файл пресетов не существует, он будет создан с минимальным содержимым.

3. Пресеты


Создание пресетов

Файл пресетов - обычный текстовой файл с разметкой в формате JSON.

Пример синтаксиса файла пресета со некоторыми видами начальных значений нодов:

{    
    "presets" : {
        "Test Preset 1":{
            "useSelected":"Select Elements",
            "forceReopen":false,
            "Select":{"type":"element", "mode":"one"},
            "Number":4.55,
            "Integer Slider":15.5,
            "String":"hello!",
            "Boolean":false
        }
    }
}

Структура файла пресетов

Файл представляет собой иерархию объектов.

  • Корневой уровень:
    • presets (группа) - группа пресетов для конкретного проекта Dynamo.
  • Уровень группы пресетов:
    • <имя_пресета> (группа) - группа свойств конкретного пресета.
  • Уровень пресета:
    • useSelected (имя нода) - включает режим, при котором перед запуском проекта Dyno "подхватывает" текущие выбранные объекты на виде и отправляет их в ноды типа "Select Model Element" или "Select Model Elements" c указанным именем.
    • forceReopen (true/false) - включает или отключает режим при котором перед каждым запуском скрипта, он будет переоткрываться в Dynamo. Переоткрытие скрипта занимает время, но эта процедура бывает необходима для некоторых скриптов для их правильного исполнения.ВНИМАНИЕ! в прежних версиях Dyno скрипт всегда переоткрывался перед запуском, но теперь это необходимо указать явно!
    • <имя_нода> (разные форматы данных) - начальные настройки нода с этим именем в проекте Dynamo перед его выполнением.

4. Ноды


Описание начальных значений нодов

Ноды в пресете могут описываться сокращенным или расширенным способом.

Сокращенный способ предполагает после имени нода сразу указывать его значение. Например:

"Some number node":4.55,
"Some string node":"hello!",
"Some boolean node":true

Расширенный способ предполагает указание для нода сразу нескольких параметров:

"Select":{"type":"element", "mode":"one"},
"Boolean Fast":
    {"fastMode":true, "value":true},
"Number Extended":
    {"value":4.55, "desc":"some desc"}

Есть несколько параметров, существующих у любого нода:

  • type (тип нода) - указывает тип нода. Необязательный для основных нодов (строка, число, да/нет) и обязательный для остальных!
  • value (значение нода) - указывает значение нода. Обязательный для основных нодов!
  • desc (строка) - описание нода. Отображается в окне изменения значения нода и во всплывающей подсказке при наведении в браузере Dyno

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

На данный момент поддерживаются следующие типы нодов:

  • Number, Integer Slider, Double Slider - число
"Number": 5.81,
"Number Extended": {"value":4}
  • String - строка
"String": "hello!",
"String Extended":
    {"value":"Hi!", "desc":"small desc"}
  • Boolean - true/false
    • fastMode (true/false) - включает или отключает режим быстрого переключания в один клик.
    • trueText (строка) - устанавливает собственный текст для положительного значения.
    • falseText (строка) - устанавливает собственный текст для отрицательного значения.
"Boolean":false, "Boolean Fast":{"fastMode":true, "value":true}
  • Select Model Element, Select Model Elements - выбор объектов
    • mode (тип выбора) - способ выбора объектов: one - один объект, many - группа объектов, rectangle - группа объектов рамкой.
"Select Element":{"type":"element", "mode":"one"}
  • Select Face, Select Edge? Select Point On Face - выбор компонентов объекта
    • type (тип выбора) - тип компонента объекта: face, edge, pointOnFace.
"Select Face":{"type":"face"}
  • File Path, Directory Path - выбор файла или папки.
    • mode (тип выбора) - папка или файл: file - файл, directory - папка.
    • value (строка) - начальный путь.
    • filter (строка) - фильтр описаний расширений файлов и их масок, разделенных ветикальными линиями (например, "txt files (.txt) | *.txt | All files (.) | *.").
    • filterIndex (целое) - выбранная маска фильтра по умолчанию, начиная с 1.
"File Path":{"type":"path", "mode":"file", "value":"c://", "filter":"txt files (*.txt) | *.txt | All files (*.*) | *.*", "filterIndex":2 }

Списки значений в нодах

Dyno поддерживает задание не только одиночных значений для основных нодов, но и списков значений, из которых можно выбирать необходимое непосредственно в окне редактирования значения нода.

Для задания списка значений необходимо использовать параметр values:

values (массив значений) - возможные значения для нода в квадратных скобках.

        "AxisList" : { "value": "X-", "values": ["X+","X-","Y+","Y-","Z+","Z-"] }

5. Кнопки на лентах


 Кнопки на лентах инструментов

Dyno предоставляет возможность создания своих собственных вкладок на ленте инструментов и размещения на них кнопок, соответствующих скриптам, пресетам или группам скриптов и пресетов (кнопки с выпадающим меню).

Это позволяет удобно структурировать скрипты и пресеты на ленте, организовать рабочее пространство и быстро запускать их.

Конфигурирование вкладок и кнопок

Для настройки кнопок на ленте используется специальный файл buttons.txt, который должен быть расположен в корне папки-хранилища. Это позволяет привязывать набор кнопок к хранилищу и перемещать его вместе с ним.

Если файл отсутствует, то создать его автоматически можно, выбрав в контекстном меню браузера опцию "Open Buttons File".

Файл представляет собой обычный текстовый документ с настройками в формате JSON.

Пример синтаксиса файла конфигурации кнопок:

{
    "Имя вкладки 1"  : ["Пресет 1", "Пресет 2"], //это одиночные кнопки скриптов или пресетов
    "Имя вкладки 2"  : ["Группа 1", "Скрипт с пресетами 1"] //это кнопки с выпадающим списком скриптов или пресетов
 }

Каждая кнопка автоматически генерирует иконку для себя в виде символьного обозначения в круге. Цвет круга зависит от папки в которой он лежит. Все кнопки из одной папки группируются в ленте.