This year, we’ve taken an in-depth look at Dynamo, the visual programming environment for Revit. There’s a lot of potential here for widespread use in the AEC industries, and recent releases provide some exciting new features (check out our introductory and advanced courses). The program’s developers are rethinking how one interacts with Revit, and this is awesome.
So how can we take full advantage of a visual programming environment within the Revit platform? Now that we’ve explored the software, it’s time to reflect and look at a few ways to improve our parametric workflow.
Dynamo is a program in its infancy, and there will of course be bumps in the road. One of these bumps, which is the focus of this post, is Revit selection. This is the process we use to link Dynamo elements to those in Revit. Here is a group of some of the selection options within the Dynamo suite:
Image may be NSFW.
Clik here to view.
The fact that Dynamo is built on top of the Revit database gives it a good deal of potential, but this also makes its interaction challenging. The selection options above provide decent functionality, but it’s not all there, and it’s scattered. If we can query a Revit file the same way we query a database, this interaction can become a lot simpler.
Back to the basics, the Revit hierarchy has four main tiers: categories, families, types, and instances. This defines the Revit database, and grasping this concept is particularly important when making project-wide parametric applications:
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Our workshop attendees generally have a wide range of experience. Some are new to Revit, but experienced in visual programming through applications like Grasshopper. Others are Revit aces who want to learn more about visual programming. Dynamo’s existing selection nodes can be a headache for both of these users. When instructing a course, we want to move quickly while ensuring that the fundamentals are clear: here is the Revit hierarchy, and here is the way to navigate it in Dynamo. Perhaps this can be done with two nodes:
Image may be NSFW.
Clik here to view.
The video in this post shows these custom nodes in action. The user can move up and down throughout the project hierarchy, and use the nodes in either direction. This will enable the user to select an element and get any combination of similar elements. Or, one can select multiple elements and extract their hierarchical sets.
The intention with these nodes is to make Dynamo more demonstrative of the Revit environment. By simplifying selection, we can facilitate parametric interaction. Students can learn more about the Revit database while they learn more about Dynamo, and modelers can operate on an advanced level with ease.
We plan on releasing these nodes as soon as we hash out a few more programming tasks (so that its applicable to all Revit projects). This will include hierarchy from elements, elements from hierarchy, and get all parameters (rather than drop-down menus, away with those!).