Revit’s coordinate systems

Navigating the complex world of Revit’s coordinates system can be tricky. There are plenty of tutorials available that explain how to set up shared coordinates in your project. (Check out Do-U-Revit and the Autodesk  University 2013 tutorials, both by David Baldacchino). However, what is often overlooked is Revit’s ‘internal’ coordination system, also known as the ‘startup location’, which is equivalent to 0,0,0. If you plan on using any of the interoperability plug-ins to transfer geometry from Rhino to Revit, then understanding how this system works is crucial.

 

When you first start a new Revit project, the Project Base Point is located at its default startup location. This is Revit’s internal coordinate system. Even if you reposition the Survey Point or Project Base Point, or setup shared coordinates, this point does not move. Ideally, you want to model around this point, for example, making it the intersection of grid ‘A1’.

revit_startuplocation2_1900x1050

So why is this important? If you plan on working solely in Revit, it’s not a major problem. However, when using interoperability plug-ins such as Hummingbird or Grevit, the Rhino geometry being imported will always be relative to the project’s startup location. If you have used an arbitrary point in space as your setting out point, then this coordinate system needs to be replicated in Rhino/Grasshopper. This may mean you need to re-work your grasshopper script which can be very time consuming.

To test if your project base point has been repositioned from its default startup location:

  • Turn on the Project Base Point (Visibility Graphics > Site > Project Base Point).
  • Select the Project Base Point and unclip it (paper clip with slash).
  • Right-click and select move to start up location.

revit_startuplocation3_1900x750

If the Project Base Point moves, it has been moved from its original start up location. There are only really two options to fix this:

  • Unfortunately, neither the ‘specify coordinates at a point’ or ‘relocate project’ commands will physically move the geometry. Rather it will just change the value of the coordinate and keep the start up location in the same place. Therefore, the first option is to select all the Revit geometry in your project, group them, and then physically move the geometry. The later this is done in a project, the more difficult it will be. It will obviously cause problems with 2D drafting information and sheets.
  • If your model is too far progressed to physically move all the geometry, the second option is to keep everything where it is and calculate the translation vector. To do this, first mark with a model line where the current Project Base Point is located.

revit_startuplocation5_1900x950

Next, unclip the Project Base Point and move it to its startup location. Mark this location with another model line before moving the Project Base Point back to its previous position.

revit_startuplocation6_1900x950

By drawing a line between these two points, we can calculate the translation vector. You then have two options:

  • Incorporate this translation vector into the end of your Grasshopper script, or
  • Import the Rhino/Grasshopper geometry as-is, group the new geometry, and then physically move the group into the correct location by snapping to the newly created translation vector.  Obviously if you plan on continually re-exporting and importing geometry from Rhino, this will become quite time-consuming.

 

The lesson here is simple. Model correctly right from day one and save yourself a ton of time in the long run.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: