Обучающие видеоролики
Это справочное руководство описывает тонкости использования функций программы. Для быстрого знакомства с программой, вначале посмотрите цикл обучающих видеороликов.
Установка и настройка
Требования
Dyno работает с Revit 2017, 2018 и 2019. Dyno протестирована с версией Dynamo 1.2, 1.3 и 2.0.
С другими версиями работа не гарантируется!
Dyno может работать с несколькими ветками Dynamo (например, 1.3 и 2.0), одновременно установленными на компьютере, однако для активации нужной версии вам придется выбрать её вручную, нажав на кнопку Dynamo на вкладке "Управление".
Справа от строчки скрипта может отображаться версия файла Dynamo, в которой он создан (форматы файлов веток 1 и 2 несовместимы).
Запустите инсталлятор. Он автоматически установит и интегрирует 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 и должен иметь такое-же имя файла.
Внутри файла пресетов может содержиться несколько пресетов на один скрипт.
Каждый пресет задает некоторый набор начальных значений нодов скрипта, а также некоторые дополнительные настройки.
Самый быстрый способ создания файла пресетов для скрипта - выбрать скрипт в браузере 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 }
Плейлисты
Вы можете запускать несколько скриптов пакетно одним кликом в нужном порядке один за другим. Для этого необходимо создать файл плейлиста с перечнем запускаемых скриптов и/или пресетов.
Плейлист - это текстовый файл с расширением .dpl
Создание файла плейлиста
Вот пример содержимого файла плейлиста:
{
"presets" : [
"Preset 1", "Preset 2", "Preset 3"
]
}
В группе "Presets" перечсляются имена скриптов и/или пресетов в том порядке, в котором они должны выполняться.
Плейлисты в окне браузера видны, как группы, но с другой иконкой. При раскрытии плейлиста, будут показаны скрипты и пресеты, входящие в него.
Двойной клик на строке плейлиста запускает всю цепочку списка скриптов.
Кнопки на лентах
Dyno предоставляет возможность создания своих собственных вкладок на ленте инструментов и размещения на них кнопок, соответствующих скриптам, пресетам, плейлистам или группам скриптов и пресетов (кнопки с выпадающим меню).
Это позволяет удобно структурировать скрипты и пресеты на ленте, организовать рабочее пространство и быстро запускать их.
Конфигурирование вкладок и кнопок
Для настройки кнопок на ленте используется специальный файл buttons.txt, который должен быть расположен в корне папки-хранилища. Это позволяет привязывать набор кнопок к хранилищу и перемещать его вместе с ним.
Если у вас подключено несколько хранилищ, то их файлы buttons.txt будут работать совместно.
Если файл отсутствует, то создать его автоматически можно, выбрав в контекстном меню браузера опцию "Open Buttons File".
Файл представляет собой обычный текстовый документ с настройками в формате JSON.
Пример синтаксиса файла конфигурации кнопок:
{
"Имя вкладки 1" : ["Пресет 1", "Пресет 2"], //это одиночные кнопки скриптов или пресетов
"Имя вкладки 2" : ["Группа 1", "Скрипт с пресетами 1"] //это кнопки с выпадающим списком скриптов или пресетов
}
В файле могут быть записаны имена в следующих форматах:
- "Имя скрипта" - будет создана одиночная кнопка, если скрипт не имеет пресетов и выпадающий список, если скрипт имеет пресеты.
- "Имя пресета" - будет создана одиночная кнопка, запускающая пресет.
- "Имя скрипта:Имя пресета" - будет создана одиночная кнопка, запускающая пресет. Используется в том случае, когда у вас есть несколько пресетов с одинаковыми именами.
- "Имя группы" - будет создан выпадающий список со скриптами и пресетами в данной группе.
Каждая кнопка автоматически генерирует иконку для себя в виде символьного обозначения в круге. Цвет круга зависит от папки в которой лежит скрипт. Все кнопки из одной папки группируются в ленте.
Для скрипта можно установить собственное изображение. Для этого необходимо в папке со скриптом разместить файл картинки с таким-же именем и расширением .jpg или .png.
Для установки собственного изображения на кнопку, связанную с группой скриптов в папке, необходимо разместить в данной папке изображение с таким-же именем.