Menu

Dyno Manual

Learning videos

This user manual describes the details of using programs’ features. For quick acquaintance, first watch the learning video series.

Installation and setup

Requirements

Dyno works with Revit 2017, 2018 and 2019. Dyno is tested with Dynamo version 1.2, 1.3 and 2.0.

The work with other versions is not guaranteed.

Launch the installation file. It will automatically install and integrate Dyno into all versions of Revit.

Storage and Navigation

Storage content

The scripts in the storage can be organized into a tree-like structure with any number of sublevels. For example:

[SampleWorkspaces] //storage folder
   workspace1.dyn //script file
   [Test]
       workspace2.dyn
       workspace3.dyn
   [Grids Renumbering]
       workspace4.dyn
   [Rooms Calculating]
       [Apartments]
           workspace5.dyn
   [Adaptive Components Generating]
           workspace6.dyn

You can organize several storages (e.g. for different company departments) and attach any variation of them in the program settings.

When you combine several storages into one their content merges into single browser tree.

Script filter

There’s script filter in the upper part of the browser. When you type the text, you see only the scripts presets and folders, which contain it.

You can also see all the sublevels of the group if it contains the search text.

You can quickly add names of groups and presets to search string by using the combination of Ctrl + click on the line.

The search can be multiple. In this case, you list the search queries separated by commas. For example: “Windows, doors”. The program will find and select all the items containing text “Windows“ and text “Doors”.

Scripts and Data

Initial values of scripts

Dyno scans the scripts files and selects the nodes that work for initial values input. This way it’s possible to edit the initial values right in the browser window before starting the script.

To make the node marked as input node it must have Dyno attribute “Is Input” in the context menu. The supported types of initial value nodes are:

  • 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
  • All nodes with dropdown lists (Categories, Element Types, etc)

Script tuning parameters

You can pass script tuning parameters via input nodes.

You should use "String" or "Boolean" node to set the tuning parameter. In this case the node has to have the name related to the tuning parameter.

The list of tuning parameters:

  • useSelected (node name) - turns on mode when Dyno uses current selected objects in active view and sends them to "Select Model Element" node before starting workspace.
  • forceReopen (true/false) - turns on or off mode when Dynamo workspace is always reopened before evaluating. Reopen process needs some more time but it may be important for right evaluating some scripts. The default is - false.
  • desc (text) -  sets the commentary to the script which is displayed in script row or ribbon button tool tip window.
  • formTabs (string or string array) – Is used together with Dyno Studio and sets the name of the tab or several tabs which will be displayed in the main script window if it’s available. Here’s the example of making tabs:
"formTabs":"Tab1" //single tab
"formTabs":["Tab1"] //single tab again
"formTabs":["Tab1","Tab2","Tab3"] //several tabs
"formTabs":[] //form window will not be shown without tabs

Presets

Extended tuning of script work and preset files

The so called presets are created when you need to use the set of different initial values in one script or different script behavior for different tasks.

The presets can describe script behavior, interface launch details, a few initial values groups with additional settings, more precisely and more detailed way.

You don’t have to create presets if your scripts work automatically or their work using the initial values suits you.

Presets are text files with .dpr extension.

Each preset is created for different Dynamo file and has to have the same file name.

The preset file can contain several presets for one script.

Each preset sets some initial values for input nodes of the script, and also some of the additional settings.

[SampleWorkspaces] //this is storage folder
    [Test]
        test.dyn //this is test Dynamo workspace
        test.dpr //this is preset file for it

The fastest way to create preset file for script is to choose script in Dyno browser and use “Open Presets File” in context menu.

If preset file doesn’t exist, it will be created with minimal content.

The icon is activated when the script has one or several presets.

Making presets

Preset file is a simple text file with JSON format data.

The example of node preset syntax with some types of initial node values:

{    
    "presets" : {
        "Test Preset 1":{
            "useSelected":"Select Elements", //this is tuning parmeter
            "forceReopen":false, //this is another tuning parameter
            "Select":{"type":"element", "mode":"one"},
            "Number":4.55,
            "Integer Slider":15.5,
            "String":"hello!",
            "Boolean":false
        }
    }
}

Preset file structure

File is the hierarchy of objects.

  • Root level:
    • presets (group) - group of presets for particular Dynamo workspace
  • Group preset level:
    • <preset name> (group) - group of properties of particular preset
  • Preset level:
    • <настроечный параметр> (разные форматы данных) - один или несколько настроечных параметров, определяющих поведение и работу скрипта.
    • <node name> (different data format) - the initial settings of node with this name in Dynamo workspace before its execution.

Nodes

Nodes in preset can be described short or extended way.

Short description of initial node values

Short means writing the node value right after its name. For example:

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

Dyno supports not only setting single values for the main nodes, but also values lists. You can choose things you need from them right in the node parameters edit window.

Example:

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

Extended description of initial node values

Extended means writing a few node parameters at the same time:

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

For defining values list you should use values parameter:

values (values array) - values list for node in square brackets.

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

In this case, you have the opportunity to set the default node regardless of the possible values list.

If the preset node equals node in the very script, its settings are taken from the preset. It means that they have higher priority.

Parameters used in extended node description

There are some paraters that each node has:

  • type (node type) - shows node type. Optional for common nodes!
  • value (node value) - shows node value. Required for common nodes!
  • desc (line) - node desription. Is shown in node value change window, script row tooltip in Dyno browser and over script ribbon button.
  • hidden (true/false) - is node hidden or not. If node is marked as hidden it do not shows in the Dyno browser's window.

Supported nodes

Such types of nodes are supported at the moment:

  • Number, Integer Slider, Double Slider - any number
"Number": 5.81,
"Number Extended": {"value":4}
  • String - any text line
"String": "hello!",
"String Extended":
    {"value":"Hi!", "desc":"small desc"}
  • Boolean - true/false
    • fastMode (true/false) - turns on or turns off mode value fast switching in one click.
    • trueText (line) - sets the text for true value
    • falseText (line) - sets the text for false value\
"Boolean":false, "Boolean Fast":{"fastMode":true, "value":true}
  • Select Model Element,Select Model Elements - elements selection
    • mode (selection type) - type of object selection: one - one object, many - group of objects, rectangle - group of objects by rectangular selection, , order - group of objects in order selected one by one.
"Select Element":{"type":"element", "mode":"one"}
  • Select Face, Select Edge, Select Point On Face - element parts selection
    • type (selection type) - type of object part selection: faceedgepointOnFace.
"Select Face":{"type":"face"}
  • File Path, Directory Path - file or directory selection
    • mode (selection type) - file or directory.
    • value (string) - initial path for dialog window.
    • filter (files filter) - file description and extension mask list separated by vertical lines (for example, "txt files (.txt) | *.txt | All files (.) | *.").
    • filterIndex (integer) - selected default mask. it starts from number 1.
"File Path":{"type":"path", "mode":"file", "value":"c://", "filter":"txt files (*.txt) | *.txt | All files (*.*) | *.*", "filterIndex":2 }

Ribbon buttons

Tabs and Buttons on ribbon

Dyno gives you the opportunity of making your own tabs in Revit tools ribbon and putting buttons corresponding to presets there.

It allows you to structure presets in convenient way, organize the workspace and launch presets quickly.

Configuring of tabs and buttons on tools ribbon

There’s a special file buttons.txt to configure buttons on the ribbon. It must be located in the root of storage folder. It allows to associate the set of buttons to the storage and move them together.

If you have a few storages attached, their files buttons.txt will work together.

If the file doesn’t exist, you can create it automatically by selecting “Open Buttons File” in browser context menu.

It is a usual text file with settings in JSON format.

The example of button configuration file syntax:

{
    "Tab Name 1"  : ["Preset 1", "Preset 2"],
    "Tab Name 2"  : ["Preset 3", "Preset 4"]
 }

You can set following names:

  • "Script Name" - single button will be created if script does not have presets and drop down list button if script has them.
    "Preset Name" - single button will be created.
    "Script Name:Preset Name" - single button will be created. Name is used when you have several presets with similar names.
    "Group Name" - drop down list button with scripts and presets in this group will be created.

Each button automatically generates icon for itself looking like symbol in circle. The color of the circle depends on the group which the preset belongs to. All buttons of one group go together in the tools ribbon.

You can set individual image for button. To make that you must place image file with the same name as the script. Image file must has .jpg or .png extension.
To make individual image for group button you must place image file into group folder root with the same name.