Thursday, March 12, 2015

Follow Up - Importing DWG Files using By Shared Coordinates

As the title suggests, regarding an earlier post earlier post, recently I was participating in a thread at the Autodesk User Groups and an Autodesk support person wrote that Revit intentionally attempts to create a User Coordinate System. This means what I wrote about in the other post is happening on purpose, not a bug.

This means they (Revit's developers) are assuming the files we are linking don't already share an agreed upon file alignment strategy between the people that created them. If I understand their logic, it means that using Positioning: Auto-By Shared Coordinates when we link a file triggers a response in Revit that it needs to create a UCS (User Coordinate System) to permit AutoCAD users to align these files if they are combined (apart from Revit) in AutoCAD at some point.

Revit can't know if these files have an agreed upon relationship to the WCS origin because in AutoCAD that's a subjective user based agreement, not something captured in code. In other words we agree as users to draw things relative to 0,0,0 in a specific way so our files will line up when we use them as an external reference. In my view, for multiple survey file relationships, that's most likely not necessary and just creates confusion. I can imagine how it might be useful if we are mixing a variety of trade files that might not have discussed how their work relates to the WCS origin. However that seems like a rarer circumstance to me, especially if Revit happens to be the primary platform in use.

Imagine we link a survey file into our Revit project and use Acquire Coordinates. Revit establishes a relationship with this external file and moves our project's shared coordinate system to align with the survey file. It moves the Survey Point (when the icon is clipped) to mark the WCS (World Coordinate System) origin location of the linked file. Now imagine we link a DWG file that, to pick a discipline, is the fire protection design. It isn't very likely that they started designing by importing the survey DWG. That means their file and the survey file don't share in their understanding of how to start drawing relative to the WCS in their AutoCAD files. In my opinion it is much more likely that they started designing based on a plan we exported from Revit and sent to them. If true then we'd be better off importing their file using Positioning: Auto - Origin to Origin.

If they just started designing without a background file from us (not really likely, what context would they have?) then we could link their file using Positioning: Auto - by Shared Coordinates. Revit generates a warning (refer to the other post's images) that this project isn't sharing coordinates with this file so it will import it using the WCS of the file, which is still pretty arbitrary in this scenario. Revit however regards this positioning choice as significant and when we try to save our work it prompts us to save the changes to the linked DWG file too. It wants to create a UCS in that file and save it so that an AutoCAD user can reference it, making it possible to line up this file with the survey data if those files are combined in AutoCAD.

In my view this a feature that is conceptually broken. It is changing a file (creating a UCS) that isn't the primary file, just my copy of it. They sent it to me so I can link it. If all of the disciplines work at my company and in my office then perhaps all the files are stored on the same server and accessible to everyone. That's certain possible but it is still unlikely that this UCS will be necessary or that anyone will even be aware that it exists.

The shorter answer, when confronted with this dialog: Choose Disable Shared Positioning (for the file involved, not the one that was used to Acquire Coordinates originally).

Based on my bias, we should have a way to tell Revit we want to link a file based on the Shared Coordinate system without incurring the belief that a UCS must be created in the file too. Perhaps an option to link via the WCS of the external file and the origin of the Shared Coordinate system without the assumption that we think there is actually a shared relationship between the Revit project file and the DWG file?


Anonymous said...

I think revit creates a new ucs in order to deal with multipositioned dwg references in revit (stored as different "places") I believe that the idea is, once in autocad, to be able to identify, according to the different ucs the different positions that the dwg file has in revit.

Steve said...

Yes, it has created the UCS in a DWG for many years, the clue is in the UCS name having 60 in it... at least since Revit 6.0.

A practical use for it was when we moved a DWG into alignment with our model and wanted to be able to export the model to DWG and then align that with the DWG file in AutoCAD.

In this case I'm just trying to focus Revit on the WCS origin of the file I'm linking, not the Project Base Point. Revit is regarding this choice as "different" from its original position and it wants to save it...the result is a UCS that doesn't change the orientation or position of the pointless in doing so.