Limits of Revit Automation



I’m new-ish to Dynamo. I’m looking into automating Revit to make our lives easier.

Specifically, I’m wondering about the extent of how much can be automated. I’ve seen a lot of macros about renaming views/sheets, editing parameters, etc. But I want to automate creating & moving family instances, dimensions, and model elements.

For example, I’m working on a power & data plan that I inherited, and the outlets are all over the place. Many are stacked back-to-back and need to be staggered.

Ultimately, it would be great to have a script/macro that basically says “Select all west-facing instances of an outlet that are 2’-6” to 4’-0” away from a specific type of wall, and move them to be 3’-0” away from that wall, and add a linear dimension.” And then do the same for east-facing instances to be 4’-0” way from the wall, etc.

Other examples of things I want to automate:
“for every X type of door between 0” and 1’-0” from X type of wall, move that door to be 4” from that wall.”
“for every X type of wall face on X type of floor, create a horizontal split face 4” above the floor.”
“for every X type of furniture with a space conflict, uncheck X instance parameter (if it intersects a column, automatically uncheck the parameter that shows the chair, because it’s not usable)”

I’m aware that these may be way out of the realm of possibility, but if something like this is achievable, it would be a huge timesaver. I’m interested to hear people’s thoughts.

Thank you,



How to get help on the Dynamo forums



I would say that most of what you’re describing is possible. Maybe not easy, but possible.

You can get direction of walls, hosts of elements, and wall types. Put those in the correct list sequences and you can do a variety of things. The others sound equally possible.

I don’t know if you can create a Split Face with the API without checking but, from a nerdy Revit perspective, I would generally discourage them. 4" above the floor… wouldn’t be for a wall base by chance? If so, model it!