Automating Room Tag Text to ALL CAPS in Revit Using Dynamo
Automating Room Tag Text to ALL CAPS in Revit Using Dynamo
A Small Problem That Kept Repeating…
Hey there 👋
Recently, while working on a live project, we ran into a small but annoying hurdle. Everything in the model was shaping up nicely, but when it came to room tags, the text was not in ALL CAPS.
Individually, it didn’t look like a big problem. But when you consider:
-
dozens (sometimes hundreds) of rooms,
-
strict drawing and documentation standards,
-
and limited time before issue,
changing each room name manually, one by one, quickly becomes time-consuming and easy to mess up.
So instead of fixing it the hard way, we decided to handle it the smart way — using Dynamo.
Understanding the Actual Problem (Before Touching Dynamo)
At first glance, it’s tempting to think:
“Room tags are just text — can’t we just edit them?”
But this is where Revit works a little differently.
Room Tags don’t store text themselves.
They simply display information from the Room element, such as:
-
Room Name
-
Room Number
-
Other room parameters
This means:
-
You cannot directly edit the tag text
-
You must modify the Room parameter that the tag is reading
Once this clicked, the solution became much clearer.
The Simple Idea Behind the Solution
If:
-
Room Tags read the Room Name parameter, and
-
Dynamo can read and write parameters,
then the solution is simply:
Convert the Room Name parameter to uppercase once, and let Revit update everything automatically.
No tag editing.
No family changes.
No manual corrections.
How Dynamo Solves It
Using only core Dynamo nodes (no packages, no API, no TextElement), the workflow looks like this:
-
Collect all Rooms in the model
-
Read the “Name” parameter from each Room
-
Convert the text to uppercase
-
Write it back to the Room Name parameter
Once the script runs:
-
All Room Names become ALL CAPS
-
All Room Tags update instantly
-
Schedules and legends stay consistent
(You can add a Dynamo graph image here.)
Dynamo Logic (In Plain Language)
That’s it — simple, readable, and reliable.
Why This Approach Works So Well
This method is:
-
✔ Fully aligned with how Revit handles data
-
✔ Stable across Revit and Dynamo versions
-
✔ Free from third-party package dependencies
-
✔ Safe for production models
Because we are modifying the source parameter, every view that reads that parameter stays in sync automatically.
A Few Things to Keep in Mind
-
This action permanently updates Room Names
-
It’s best to:
-
Run the script once
-
Turn off Auto Run afterward
-
-
Always test on:
-
A copy of the model, or
-
A limited set of rooms first
-
Wrapping It Up
What started as a small formatting issue turned into a great example of how Dynamo can save time and enforce standards with very little effort.
Instead of fixing the same problem repeatedly, we solved it once — properly.
The full Dynamo script used in this workflow can be downloaded from GitHub using the link shared below.
Feel free to adapt it to your office standards or build on top of it.
Download link: GitHub
Comments
Post a Comment