Dec 16, 2025
Convert Revit Coordinates with Revit API [Internal, Project, Survey]
Learn how to convert XYZ Coordinates in Revit API.
Coordinate Systems in Revit

Revit Coordinate Systems is a tricky topic!
Especially if you want to automate coordinates with Revit APIโฆ
In Revit API you need to be careful with units that you use.
Because It's so easy to use the wrong units
and then spend hours looking for an issueโฆ.
(Yeahโฆ I've been there multiple times)
But don't worry,
I already did the hard work for you!
It took me couple of days,
but now I have my own Coordinate Converter
than anyone can use in in 3 lines of code.
Yeahโฆ It's that simple.
And the best part?
I'm going to share it with you in a moment for FREE.
It will literally save you days of headache
All you'll have to do:
Copy my code
Understand 3 lines on how to use it
And enjoy the simplicity of working with coordinates
But before I share my grand solutionโฆ
Let's have a quick overview of coordinate systems in Revit.
Coordinate Systems Overview
There are 3 Coordinate Systems in Revit:
Internal (Used as the internal system of Revit, used in Revit API)
Project (Based on Project Base Point)
Survey (Based on Survey Point)
Also keep in mind that in Revit we can set True North rotation, which will not affect all systems similar.
Internal - True North Rotation is not applied
Project - True North Rotation is not applied
Survey - All coordinates will be affected by True North Rotation.

๐กPro Tip
Before you beginโฆ
I really recommend creating proper tags to easily read correct values.,

It can easily help you avoid using the wrong units or data as you create your custom tools.
You can also push it a step further
and create tags for both:
Metric Units
Internal Units
This way you'll instantly notice if you're exporting the wrong data.
(Trust me, it happens way too often with coordinates when we use APIโฆ)
Alright and now - let's look into API
Revit Coordinates in Revit API
First of all you need to know that Revit API always uses Internal Coordinate System in feet.
That means that when you read XYZ values, you'll get them in Internal System in Feet.
And it also means that you need to prepare your XYZ values in Internal System in Feet.
And if you forget this, don't be surprised when your
elements are flying in the sky above your project.
Now let's look at how to convert coordinates with Code.
My Coordinate Converter Class
I've prepared a custom class that can convert XYZ points from any
coorindate system into any other with just a few lines.
๐จANd Spoiler alert: you're about to see code that might scare many of you.
But you don't even have to understand anything about it.
๐ You just copy the code below.
๐ Paste in your script
๐ Scroll to next example to undrstand how to use it
๐คHow to use it?
And now, here's the gravy for your fries.
As I mentioned:
You don't even need to understand the class I provided.
You just need to use a few methods.
๐กAnd please pay attention to units that you use !
And here's an example:
Where I'll take a list of generic models ('EF_Box')
And I'm going to convert internal coordinates into Project and Survey Systems.
Simple right?
As you can see I've used XYZ with internal coordinates to create Survey and Project coordinates.
But I could also import some excel data of Survey coordinates, and convert it back into internalโฆ
You get the point.
Enjoy working with Revit API Coordinates like a Pro.
Feel free to mention this article to others coders!
They'll love you for that.
Happy Coding.
Join Newsletter
๐ฉ You will be added to Revit API Newsletter
Join Us!
which is already read by 9500+ people!





Ready to become Revit Hero for your office? Learn Revit API!
Join this comprehensive course that will guide you step by step on how to create your dream tools for Revit that save time.


