In the last post I showed how to create a simple Dynamo definition to select all rooms in a model to change their properties in one go. Selecting objects is the first step to do other interesting and useful things like filtering elements to later manipulate them. This post describes a different way of selecting that could be a bit more intuitive.
Before we even start, remember to save often when using Dynamo. I have found Dynamo much more stable than before, but you surely don’t want to lose your work if it crashes. For this to work it is implied that you have a Revit model open that it has stuff in it.
This alternate method of selecting involves using a String node to type out a category with a prefix “OST_” which is how categories are dealt with in the Revit API. So if you want to select all Structural Columns you would use OST_StructuralColumns or if you want to select lines you could try OST_Lines (sample shown below). The general flow from there is to use the Category.ByName node and All Elements of Category node to start “collecting” elements. Note that when using the Watch node, Dynamo has the ID of each element in a green box which you can click to attempt to update the current view with the element in Revit.
We are keeping it very basic here, but keep in mind that the power of these tool is that we can start manipulating values and pushing them back. This resolves longstanding limitations like not being able to tag something with a calculated value. But that’s a future post.