Revit Snippet: Tag Vertical Pipes and Pipe Risers Fast!
Tagging vertical pipes and pipe risers in Revit is one of those tasks that sounds simple but quickly becomes frustrating. In plan views, risers are often hidden behind fittings, difficult to select, or buried inside linked models. Many Revit users end up switching between plan and 3D views, isolating elements, and spending far more time than necessary just to place basic tags!
In this post, I want to introduce a new video tutorial where I walk through a much faster and more reliable workflow. The video is embedded below so you can follow along step by step.
Resources
✅ My full Python Scripting for Dynamo course
✅ My other tutorial on using Python for Dynamo in Revit
✅ My other tutorial on setting up and using Visual Studio Code for writing Python code in Dynamo
Why tagging pipe risers in Revit is so difficult
Revit works very well when tagging horizontal pipes, but vertical pipes behave differently in plan views. Common issues include
• Pipe fittings sitting directly on top of risers
• Tab selection failing or cycling through the wrong elements
• Pipe risers inside Revit links being almost impossible to pick
• Tag placement becoming cluttered and overlapping
All of this slows down documentation and increases the chance of mistakes in construction drawings.
A faster approach using Dynamo and automation ⚙️
Instead of fighting Revit’s selection tools, this workflow uses Dynamo to automatically detect and select pipe risers in the active view. Once the risers are selected, tagging becomes a single click operation.
In the embedded video, you will see how a small Dynamo script
• Collects only pipes visible in the active view
• Checks which pipes are vertical using angle tolerance
• Automatically selects all detected pipe risers
• Prepares the model for fast and consistent tagging
This approach works even when risers are hard to see or partially blocked in plan view.
Step by step Dynamo logic explained 🧠
The video does not just show the result. It explains how the Dynamo and Python logic works so you can recreate and adapt it yourself.
You will learn
• How to access the active Revit document and view
• Why scoping element collection to the active view improves performance
• How to detect vertical pipes using direction vectors and angles
• How angle tolerance controls what counts as a riser
• How the script highlights detected pipes without modifying the model
This makes the workflow both fast and safe for production projects.
From selection to clean tag layouts ✨
Selecting and tagging pipe risers is only half the problem. The next challenge is tag layout. Running Tag All often produces overlapping tags and messy leader lines.
In the video, I demonstrate how to
• Automatically tag all selected pipe risers
• Rearrange tags into a clean and readable layout
• Avoid most tag overlaps and leader crossings
• Quickly fix remaining conflicts with simple tools
The result is a clear and professional set of drawings with far less manual adjustment.
Beyond pipes with smarter tagging
The workflow shown in the video is not limited to pipes. You will also see how the same automated tagging approach can be extended to other Revit categories.
Examples shown include
• Mechanical equipment tagging
• Combined tagging of horizontal pipes and risers
• Custom layout options such as stacked or distributed tags
This makes the process scalable for larger and more complex MEP projects.
Final thoughts
Automating repetitive tasks like pipe riser tagging is one of the fastest ways to improve productivity in Revit. With a small Dynamo script and the right tagging tools, you can turn a painful task into a one click operation 🚀
If you found this tutorial useful, keep an eye on the blog for more Revit, Dynamo, and BIM automation tips designed to save you time and reduce frustration.

