Revit Snippet: Batch-center all room & space locations points

If you’ve ever used Tag All in Revit and noticed that your room tags are frustratingly off-center, you’re not alone. This is a common issue caused by misplaced room or space location points. But the fix is easier than you think — and fully automatable.

In our latest YouTube tutorial above, I show you how to use a custom Dynamo script to automatically center location points for all rooms and spaces in your model. You can even download the ready-to-use script below!

Resources

Tagitize Revit Plugin

The completed Dynamo script

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 Revit Room Tags Are Misaligned

Revit places room tags based on location points, not the geometric center of the room. When these points are off — which often happens — your tags look messy and unprofessional. Manually adjusting them is time-consuming and error-prone.

This guide provides a Dynamo automation solution that solves the issue in seconds, improves documentation quality, and gives you more control over your BIM workflow.


🚀 What You’ll Learn in the Video

  • How to detect off-center location points in Revit
  • How to write and understand a Dynamo script for spatial element manipulation
  • How to deal with edge cases like irregular shapes, unplaced rooms, and empty bounding boxes
  • Why this method works better than manual fixes or other tagging plugins
  • Bonus: Why Tagitize offers an even smarter alternative for Revit tagging automation

🔧 Behind the Scenes: The Dynamo + Python Script

In the tutorial, I guide you through building two key Python methods:

  1. Point to XY – Projects a 3D point onto a flat XY plane
  2. Center Point – Calculates the center of a room or space

We use the Revit API to move each location point to its true center, only if the center is inside the spatial boundary. We also account for elements that shouldn’t be edited, ensuring a clean and safe automation.


💡 Bonus Tip: Use Tagitize for Smarter Tag Placement

If you want even cleaner room tags, try Tagitize — an automation tool that:

  • Detects optimal tag positions
  • Moves tags outside rooms if needed
  • Avoids tag overlaps with other Revit elements
  • Works without needing to move room or space location points at all

🔗 Try Tagitize Here


📘 Learn Python for Dynamo from Scratch

Interested in scripting more tools like this? Check out my full course on Python for Dynamo — ideal for BIM professionals who want to boost their productivity with automation.

🎓 Explore the Course


📢 Final Thoughts

Fixing Revit room/space tag alignment doesn’t have to be tedious. With this Dynamo script, you can automate the process, save time, and produce professional-looking drawings every time.

If this tutorial helped, be sure to subscribe to our channel here for more tutorials like this every week!