TitleBlockFromSheet

 

titleblockfromsheet_main

This node will return the TitleBlock instance applied to the input Sheet.

Works with list of sheets.

Uses a little python, basically building up a dictionary with the sheet number parameter of the titleblock elements (as the Keys) and the titleblocks themselves as the Values.

Then performs a search in the dictionary using the Sheet number of the Sheet elements.

In pursuit of avoiding dependencies, a basic implementation of the dictionary is used. For more reliable results, the python node can be replaced with SpringNode’s “Dictionary”.

titleblockfromsheet_twit

titleblockfromsheet_inside

titleblockfromsheet_py

Workflow: Create DynoBrowser Preset file

General Schema:

dyno config generator_workflow

This workflow assists in the creation of the .JSON file which DynoBrowser needs to set up the presets avaliable to the Revit users.

It uses the three Dynablaster Package nodes:

DynoPresetInputGenerator, DynoPresetGenerator and Dyno.JsonGenerator.

The author of these nodes is no affiliated with DynoBrowser developer. Refer to http://dyno.arcprojects.ru/ for more information

DynoPresetGenerator

DynoPresetGenerator_main

This is the second node of a group of three. Go to the first one before continue reading.

Refer to the workflow post for further details.

As an input will take the preset name, and the input or inputs of that preset.

If more than one input is desired, they need to be grouped as a list and then connected to he “Preset Input(s) node port.

This custom node contains a python node inside.

DynoPresetGenerator_insideDynoPresetGenerator_py

The author of these nodes is no affiliated with DynoBrowser developer. Refer to http://dyno.arcprojects.ru/ for more information

DynoPresetInputGenerator

DynoPresetInputGenerator_main

This node is the first of a group of three nodes. They are meant to help with the creation of the preset file, which is a .JSON file.Refer to the workflow post for further details.

This file defines for a given “preset”, the inputs which will be accessible from DynoBrowser panel.  see more at http://dyno.arcprojects.ru/

With this node, you define an input.

It has three inputs; Name, Value and Description. The node will look for the data type and write it accordingly.

DynoPresetInputGenerator_inside

The string creation is held by a python script node:DynoPresetInputGenerator_py

 

You can define more than one input, and lace them together into a list and pass it to the next node, which is DynoPresetGenerator.

 

The author of these nodes is no affiliated with DynoBrowser developer. Refer to http://dyno.arcprojects.ru/ for more information

 

 

NumberToCharacter AZ

NumberToCharacter AZ

This node takes an integer as input.

Returns the “alphabetical equivalent character”,  and a list from A to the alphabetical equivalent character.

It only works from 1 to 26 (A to Z). [See NumberToCharacter AAZZ for higher inputs]

After this, returns a “Out of range” message.

NumberToCharacter AZ_working

The node uses DesignScript to work:

NumberToCharacter AZ_inside

There is a local variable, “a”, which is an alphabetical list.

The input, named index in the code block,  is evaluated to see if it’s less or equal than “a” count:

index<=List.Count(a). This is passed into a formula node as the “Test input”.

If it’s true, then, it retrieves the index, less one, in the alphabet’s list. We subtract one unit because we want to make our input “one based”, instead of “zero based”. 1 will equal to A.

If it’s false, the string “Out of range” is passed to the output node.

For the second output, a new list called “b” is defined. Starting with “a” list, it is “choped” in two lists, been the input the chopping point.

The last step is getting the first list, so a” b[0]” is used and passed to the second output. This second output is also connected to te “Out of Range” string if the condition is not true.

 

What is Dynablaster?

bomberman-icons-1

Dynablaster is a small package of custom Dynamo nodes, developed to reuse short concatenations of nodes that appear frequently in everyday Dynamo workflows. It is focused in Revit data management rather than in complex geometry generation.

Mostly built with Out Of The Box nodes, DesignScript is used to “compact” the definitions in  pursuit of writing the shortest possible code for a given purpose. Motivated by the great community of Dynamo users, the author is learning Python to improve his skills and will implement it on Dynablaster Nodes at some point.

There are a group of nodes related to Dyno Browser plugin. These nodes help generating the Json configuration file. The functionality however, is limited. The author has no affiliation with the developers of Dyno Browser.

Dynablaster was the name for the european distribution of the old videogame “Bomberman”: https://en.wikipedia.org/wiki/Dynablaster

Enumeration

EnumerationNode

Feed a List into this node and it will return a number range, starting at 1 and up to the total count of the given List.

Useful to renumber Revit elements, as in this example, where it helps generating the numbering of certain Rooms in the model:EnumerationWorking

It is built mainly with OOTB nodes and one custom node. It operates a Count method over the list object, and using this value to generate a number range from 1 to the obtained count. Last implementation avoids unexpected behavior when the input list is empty. In that case, now the output is an empty list.

EnumerationRevampedInside

 

Element.FilterByParameterValue

This node gets a list of elements [list], a parameter name[string] and a parameter value [].

Checks if the elements parameter is equal to the given value, and splits the elements list in two: the first been “true” and the second been “false”Element.FilterByParameterValue

This node is built using OOTB nodes with nothing special in it.  But sumarizes a task we do in almost every definition.

Element.FilterByParameterValue_inside

Here follows a little example of this node in action:

We input all the rooms in the project, then get only those having “Comments” parameter equal to “revestir”Element.FilterByParameterValue_inAction