THE REVIT INTERNAL SYSTEM OF UNITS: ONE OF REVIT’S WEIRDEST ASPECTS

2022-06-07



If you’ve ever had enough curiosity to wander around the Revit API, you’re almost guaranteed to end up having to convert values to and from Revit’s internal unit system.


In fact, whether your template is set to use the metric system or the imperial one, you’ll find that Revit is built to store all values using a predefined fixed unit that usually would be different than the one it displays, and that accessing that value using the API will always result in it following that same unit, no matter what display unit the user may have selected for that value. That is not the case for other APIs, such as the AutoCAD one, which would return the user configured unit at all times.


That system of units would be known as the internal Revit unit system.


The funny thing about that internal unit system is that it lives in a Bizarro World of its own.


In fact, there exists two standard systems of units: the international one (SI), also known as the metric system, and the imperial system. There’s a third minor metric system known as CGS but it’s less used worldwide.


For some weird reason, whomever was in charge of implementing an internal unit system within Revit decided to create their own. So instead of adopting the standard metric system for example, they decided to take all 7 fundamental units of the metric one, and replace the “length” one by “feet”.


Revit's Internal Units

What you end up having is a weird hybrid system of units that includes some “innovative” new units for any parameters with storage types that defer from the 7 base ones shown above.


To determine what that new “innovative” unit would be, one would have to go back to his engineering school years and use one of the courses he/she thought would never need in real life: Dimensional Analysis! That consists of combining the 7 base units to obtain any other unit, and that’s exactly what you need to do in order to find what the Revit internal unit of any Revit parameter would be. https://en.wikipedia.org/wiki/Dimensional_analysis


One example would be the internal Revit unit for a Force, which would be a combination of Kilograms, feet, and seconds. The resulting internal Revit unit for a force would then be Kg.ft.s^-2. (which reflects Newton’s second law perfectly)


Not sure why that much complication was necessary and why we needed to invent a new system of units for Revit, but the currently implemented internal system of units doesn’t make any sense. Sorry.


Doesn’t matter though, we got used to it by now!


For more information about the Revit internal system of units, you can refer to this Autodesk Knowledge article.



We want to hear your opinion. Any feedback, comments, or questions you may have, just contact us at info@birdtools-developers.com