Monday, December 16, 2013

Acquiring Coordinates between Trades

Revit's shared coordinate features routinely confuse people. I believe I understand them well but I find the various ways people manage to use them can be quite confusing. I've written about this feature quite a bit, enough that I've created a summary of related posts. I was reading a thread at RFO where a user was describing an error message about Shared Sites.

That message appears when a shared coordinate relationship exists between two files and the linked file involved is moved. The thread at RFO hasn't shared a resolution because the person who wrote the original post hasn't replied to my last round of questions. Their claim is that the situation I've described isn't involved. Without more evidence it's hard to say what is causing their situation.

The point of this post is that they also described how they used Shared Coordinates to adjust the position of their work compared to the other team's project file. I've found with some experimentation of my own that it is effective until (IF) the source file alters its own shared coordinate relationship. If that occurs then its necessary to start over, first using the reset technique listed later in this post and then repeating these steps.

Keep in mind, this approach works if you begin modeling your work before you receive a model to use as a reference. Ideally this wouldn't happen but apparently it does. When you do receive another model it's very likely that it won't align with your work. Take these steps to reconcile the misalignment:
  • Insert ribbon > Link Revit > select a Revit Model
  • Positioning: Auto - Origin to Origin
  • Move their model into alignment with ours
  • Manage ribbon > Coordinates > Acquire Coordinates - select their linked model
  • Delete their linked model (yes, it's counter-intuitive)
  • Insert ribbon > Link Revit > select their model again (this time it IS sharing coordinates)
  • Positioning: by Shared Coordinates
  • Save your work
Our model should now be in sync with theirs until (IF) they alter their shared coordinates. We are using the Shared Coordinates feature to share a common understanding of respective project's shared coordinate origin.

For some background information, Revit projects have a file (reference) origin that does not change, in a way it's like AutoCAD's World Coordinate System (WCS). The shared coordinate concept we are using is similar to using the User Coordinate System (UCS) in AutoCAD to provide an alternate way of seeing the model.

If the team whose model we used to acquire coordinates from revise their shared coordinates in the future we'll have to repeat the process. To do that we'll have to reset the shared coordinates first. We'll also be able to avoid generating the Shared Sites error message above. Revit stores information in our project file about a linked file that it uses to know if a project is sharing coordinates with it or not and we have to break that relationship to reset shared coordinates. This technique uses a separate temporary project file to acquire coordinates from instead. A file can only acquire and share coordinates based on one source file at a time.

We can follow these steps to reset shared coordinates:
  • Create a new blank project file
  • Put a pair of crossing grids in plan so we can see it when it is linked later.
  • Save the project
  • Close the project
  • Open our model
  • Delete the existing linked model (click Remove Link in the warning that appears)
  • Insert ribbon > Link Revit > select our temporary new blank project
  • Positioning: Auto - Origin to Origin
  • Manage ribbon > Coordinates > Acquire Coordinates > select the blank project we imported
  • Save our project - it now thinks it is in sync with this new project instead.
  • Delete the linked project (Remove Link)
  • Save our project - Coordinates are still reset, we can link the real model and acquire coordinates again
Ideally when we link models together we should start with Auto - Origin to Origin because that's all they have as a common reference. Projects usually start with the architect and they establish the coordinate relationship with the site and survey data. Using Auto - Origin to Origin works if at the outset we agree that somebody establishes the site survey relationship and the rest of us all use their model to define our relationship to theirs.

The technique I've describe is using Shared Coordinates to align models instead of using it to align it to the site/survey data. This means that our models will align but exporting to DWG using Shared Coordinates won't necessarily align with the survey data. If this relationship is established after we've aligned our models with this method it is necessary to reset and repeat the process described above to allow our model to acquire the new coordinate relationship.

It's been my observation that Revit's Acquire Coordinates tool does not work well on projects that have VERY large coordinate values (based on survey data). When I write "does not work well" I mean Revit fails to acquire the correct coordinate values. When this occurs I've found that the coordinate values I expected to see were off roughly (less than they should be) by a factor of 10 or 100. In contrast, Revit's Specify Coordinates at Point (SCaP) tool always works when Acquire Coordinates doesn't. It does not define a shared coordinate relationship however. Using SCaP defines what the shared coordinates are at a specific location in the model but it does not store a "relationship" to another file like using Acquire Coordinates does.

I've described one approach to dealing with multi-model multi-discipline sharing of coordinate data HERE. The process described by that post is far more comprehensive and is meant to deal with the entire team. This post is meant to help resolve the relationship between one trade and another. As soon as everyone else gets involved it is important to have one team establish the single source coordinate system to use. A Revit project file can only share a coordinate relationship with one other source file.


Dave Baldacchino said...

Great post Steve :) In lieu of resetting the shared coordinates, I think it is more efficient to use the Specify Coordinates at a Point tool to adjust what was previously acquired. This requires every model authore to properly locate a common point in their file (ex: Project Base Point) which can be used to specify updated coordinates in any file at any time.

Steve said...

Well as I mentioned at the end, I wouldn't use this technique on a project with many files. This really only works or is sustainable when there are just two models involved in the equation.

Keep in mind using SCaP doesn't define a shared coordinate relationship between files. Only Acquire or Publish creates that special understanding.

Unknown said...

Hmmm, I follow your instructions to the tilt, and yet, the "Shared Sites in the linked model have been modified" keeps cropping up. Any ideas?


Steve said...

Sorry, very hard to guess without more information.

Unknown said...

:D Right! I'm sending you a message with a link to download both files, in case you have the chance to look into it. Only thing to note is that the Survey Point is hundreds of miles away from the Project Base Point. That and that the architect's project appears by default (Origin to Origin) right on the spot where I want it, just a few meters deeper than where I would like it. Not that it matters if I move it up or not. I still get the warning. Any help appreciated :)


Farzad Golestanirad said...

Great post Steve! Just to add one more thing to what you said in one of the comments, I would say "Auto Positioning - Shared coordinates" is also another way to establish what Revit calls Shared Coordinates...
This clause is applicable if two models that are going to be linked are exactly the same as far as the values for their coordinates meaning that the values at "Specify Coordinates at Point" should be identical (in other words, one being a duplicate of the other one)...After linking them through this method given no Revit disagreements will pop up, the models will share the same coordinates and are bind to their relationship (which I don't really recommend although there is a good rationale to do it via shared coordinates)...One can get the same result using Origin to Origin positioning and not being worried of his/her models being at risk of inaccuracy by someones fault!

Hope this helps!

Steve said...

Linking two files using positioning: Auto - by Shared Coordinates does NOT establish anything.

All that does is tell Revit you'd like to link the file using its shared coordinate system. If two files have been created from the same template file this is possible, choosing that option will work, but only because they are the same file at their root level, came from the same original template. (this is grist for another blog post)

If two files are created via separate template files as would happen on most real projects you can choose by Shared Coordinates but Revit will "complain" that they don't share coordinates and use Center to Center instead. That's not the ideal result.

Revit to Revit model linking should ALWAYS use Auto-Origin to Origin, specifically when we're discussing disciplines passing their files back and forth.

We can implement shared coordinates along the way, but the fundamental relationship should be SIMPLE, just Origin to Origin.

Farzad Golestanirad said...

Absolutely! When I talked about the values being identical, I meant both files to originate from the same template, again, one being a duplicate of another one...That way, after linking via Shared Coordinates and upon moving one model, Revit will warn you that coordinates will be modified and saved back to the link which indicates they are sharing coordinates.

And using same template is one element that will affect shared coordinates concept but not necessarily the only element needed for such an equation...Let's say you have two models that you know that are created from the same template, but upon assigning the same values at SCaP to each model, Revit will not recognize any relationship between them. The way models have been developed (how their PBP is being moved through time, for example) will also affect how they will share their coordinates (at least that's my understanding so far)...It almost seems to be that although their are showing the same values at SCaP, but their 0,0,0 is not the same because it was not treated the same! This happen mostly when you have one model with the right/established coordinates and you want to match another one with it. You can give it the same coordinate values, and will align perfectly when using Origin to Origin, but will not be able to use Auto Positioning - Shared Coordinates!

Steve Saltsman said...

Have you ever used Transfer project standards, Project info and had issues? the coordinates seems to be part of the project info.

Steve said...

Steve - yes, I've written about it too -

Martin Giles said...

Hi Steve, I have just done the above in 2015.

However after re-inserting the architects model via shared-cordinates I am still getting the save now error message.

Any thoughts?

Steve said...

Martin - If you link an architectural model and use Acquire Coordinates on the file you are done. There is no need to remove it and then link it using Auto - By Shared Coordinates.

Acquire Coordinates did the job...the relationship exists and your model has the same understanding of the shared coordinate system.

Unknown said...

We now have a clear free to use process map for Revit in regard to Shared Model Establishment. It clearly defines roles, processes, removes risk and provides a clear audit trail.
Love to hears your thoughts:
BIMFix Framework for Shared Model Establishment -