Настройка Dyno

Обучающие видеоролики 

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

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

 Требования

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

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

Крайне не рекомендуется использование Dyno с несколькими версиями Dynamo, одновременно установленными на компьютере. 

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

Хранилище и навигация

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

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

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

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

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

Фильтр скриптов

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

Если группа содержит поисковый текст то также отображаются все вложенные уровни этой группы.

Можно быстро добавлять имена групп или пресетов в строку поиска с помощью сочетания Ctrl + клик мышью на строке.

Поиск может быть множественным. В этом случае критерии поиска перечисляются через запятую, например: "Окна, Двери". В этом случае будут найдены и отобраны все позиции, содержащие, текст "Окна" или текст "Двери".

Скрипты и данные

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

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
  • Все ноды с выпадающими списками (Categories, Element Types и т.д.)

Настроечные параметры скрипта

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

Для задания настроечного параметра используется нод "String" или "Boolean". В этом случае нод должен иметь название в соответсвии с именем настроечного параметра.

Список настроечых параметров:

  • useSelected (имя нода) - включает режим, при котором перед запуском скрипта, Dyno "подхватывает" текущие выбранные объекты на виде и отправляет их в ноды типа "Select Model Element" или "Select Model Elements" c указанным именем.
  • forceReopen (true/false) - включает или отключает режим при котором перед каждым запуском скрипта, он будет переоткрываться в Dynamo. Переоткрытие скрипта занимает время, но эта процедура бывает необходима для некоторых скриптов для их правильного исполнения. По умолчанию - false.
  • desc (текст) - задает комментарий к скрипту, который отображается при наведении на строчку с крипта или его кнопку на панели инструментов.
  • formTabs (строка или массив строк) - Используется совместно с Dyno Studio. задает имя вкладки или нескольких вкладок, которые будут показываться в главном окне скрипта, если таковое присутствует. Пример задания вкладок:
"formTabs":"Tab1" //одна вкладка
"formTabs":["Tab1"] //снова одна вкладка
"formTabs":["Tab1","Tab2","Tab3"] //несколько вкладок
"formTabs":[] //окно показываться не будет, так как в нет вкладок

Пресеты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Файл пресетов - обычный текстовой файл с разметкой в формате 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.
  • Уровень группы пресетов:
    • <имя_пресета> (группа) - группа свойств конкретного пресета.
  • Уровень пресета:
    • <настроечный параметр> (разные форматы данных) - один или несколько настроечных параметров, определяющих поведение и работу скрипта.
    • <имя_нода> (разные форматы данных) - начальные настройки нода с этим именем в проекте Dynamo перед его выполнением.

Ноды

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

Описание начальных значений нодов сокращенным способом

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

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

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

Пример:

"Some node":["aa","bb","cc","dd"]

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

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

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

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

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

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

В этом случае у вас есть возможность задать значение нода по умолчанию независимо от его списка возможных значений.

Если нод в пресете повторяет нод в самом скрипте, то его настройки берутся из пресета. То есть, они являются более приоритетными.

Параметры, используемые в расширенном описании нодов

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

  • type (тип нода) - указывает тип нода. Необязательный для основных нодов (строка, число, да/нет, выпадающие списки) и обязательный для остальных!
  • value (значение нода) - указывает значение нода. Обязательный для основных нодов!
  • desc (строка) - описание нода. Отображается в окне изменения значения нода и во всплывающей подсказке при наведении курсора в браузере Dyno.
  • hidden (true/false) - скрытый нод или нет. Если нод скрытый, то он не отображается в браузере 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 - группа объектов рамкой, order - группа объектов в определенной последовательности, выбранных один за другим.
"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 предоставляет возможность создания своих собственных вкладок на ленте инструментов и размещения на них кнопок, соответствующих скриптам, пресетам или группам скриптов и пресетов (кнопки с выпадающим меню).

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

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

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

Если у вас подключено несколько хранилищ, то их файлы buttons.txt будут работать совместно.

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

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

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

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

В файле могут быть записаны имена в следующих форматах:

  • "Имя скрипта" - будет создана одиночная кнопка, если скрипт не имеет пресетов и выпадающий список, если скрипт имеет пресеты.
  • "Имя пресета" - будет создана одиночная кнопка, запускающая пресет.
  • "Имя скрипта:Имя пресета" - будет создана одиночная кнопка, запускающая пресет. Используется в том случае, когда у вас есть несколько пресетов с одинаковыми именами.
  • "Имя группы" - будет создан выпадающий список со скриптами и пресетами в данной группе.

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

Для скрипта можно установить собственное изображение. Для этого необходимо в папке со скриптом разместить файл картинки с таким-же именем и расширением .jpg или .png.

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