Clicky Web Analytics

Monday, August 7, 2017

Node of the Week #2 - Dynamo Days of Summer



Last week, I posted about my number one Dynamo node and explained why I chose it (click here to see the post from Node of the Week - Element.SetParameterByName).   This week, I'd like to highlight my second favorite Dynamo node:

Element.GetParameterByName

At first glance, this node looks very similar to last weeks.  In fact, Element.GetParameterByName is the counterpart to last weeks node; Element.SetParameterByName.  So, let's talk about what it does and why I chose it as my second favorite Dynamo node...





Element.GetParameterByName



Name of the Node: Element.GetParameterByName

Type of Node: Revit Element

Location in Dynamo: Revit > Elements > Element

What does it do? 

Similar to last weeks node, GetParameterByName has a simple and powerful function: extracting a element(s) parameter value(s).  These values are delivered in the form of a list and can be used for a multitude of functions.

On it's own, the function may not seem all that powerful.  When combined with other functions it can unlock a great deal of power (continue reading for some practical examples). 

Let's Break Down the Inputs and Outputs:



Here is a simple example of the node in action.  In this example, I selected a series of three walls and extracted the "Unconnected Height" parameter values.  Notice how the node creates a list of these values for use downstream:




Why do I like this node?

This node, to me, unlocks one of the most powerful aspects of BIM, the information.  The ability to read data from elements and either 1) push them to other functions within Revit, and 2) push them to other pieces of software / databases.

The two examples below illustrate some complex scripts in which Element.GetParameterByName:


Duplicate Curtain-Wall: Here, we use Dynamo to duplicate all of the curtain-walls in a specific project and place a generic wall next to each.  Why?  We were using a program that was not reading the curtain wall areas correctly (it was reading mullions and panels).  Notice, our Node of the Week is playing an integral role in the script.  

First, it is helping us extract the "Type" parameter from each Curtain Wall.  Then, it is extracting the "Turner Precon - Phasing" parameter (this is used to set sequential construction flow information).  Finally, we take those two pieces of information from the curtain-walls and place them in the correct parameters of our new generic wall.  Cool, huh!?



Scheduling View Dependency:  This example was a direct result of helping a friend.  The purpose of this script is to look at a series of views, extract their dependency (thank you, node of the week), and then place it into a new parameter called "Dependency - Schedule".  I believe that view dependency was not a schedule-able parameter at the time (I don't know if that's still the case).  


Those are just two examples of how our node of the week can be used within Revit to do a variety of things.  Dynamo also gives us the ability to take these values and push them to Excel, Google Drive (Sheets), and even Navisworks...  All possible thanks to Element.GetParameterByName...























If the complex examples I show above terrify you, don't be discouraged.  I was also scared of Dynamo when I first saw a full script.

The hardest part about learning Dynamo is knowing where to begin.   I have spent the last two years teaching absolute beginners about Dynamo.  I believe it is FINALLY time to teach you, my amazing reader.

That is why I will be holding my first ever online course on Dynamo for beginners:

BIM. After Dark Presents: D.I.Y. Dynamo

If you are a beginner and interested in learning Dynamo, click here to get the latest news about my upcoming D.I.Y. Dynamo Course...  Details are still in the works and I may need your input on some things!  So be sure to sign up.