Thursday, June 14, 2012

DWG Files and Funky Snapping

Importing survey files has always been problematic with Revit. Two things are fundamental issues: large file extents and distance from origin.

Geometry that is far apart will annoy Revit, geometry more than 20 miles in extents is the current "line in the sand". Just how precise this 20 mile consideration is a little hard to pin down. There must be some specific logic or algorithm the application uses but I've tried numerous times without success to arrive at something consistently true.

For example I've tried to draw squares and cubes, even circles and spheres to test the extremes and predict the trigger of the error messages I've written about before. As soon as I think I have something I can predict I try it again and get a slightly different result. My general rule of thumb is to try hard to make sure that I don't have extents that exceed a sphere that is 20 miles in diameter.

The other issue is when the data in the CAD file is small enough in extents but really far away from the file's origin, according to the WCS which is all Revit really pays any attention to. I can have a relatively small project site survey but far from origin and end up with Revit using Auto - Center to Center to place it. That's not really a problem though. We can just tell Revit how to resolve that with the Specify Coordinates at Point tool.

Now as for the title of this post, Revit hollers when our file is "too big". The warning tells us that this situation may affect the graphic depiction of information on screen.

This manifests itself in snap icons that appear to miss the element we are attempting to reference in the CAD file. It also shows up when you use the Pick tool to place lines and the sensitivity of the tool seems offset somewhat from where we see the line.

With Revit 2013 they've added an option in the Import dialog that says "Correct lines that are slightly off axis". This is a bit of spin unfortunately because this addition means it acknowledges that Revit has been altering them before, all along. Part of the solution to the funky snapping is resolved with 2013, don't check this option.

With Revit 2012 we can still avoid it but we have to import the DWG files a little differently. The trick is to let Revit place them using Auto - Center to Center and then move files, however many you need to use, into place manually. If we try to use the trick to Specify Coordinates using one file first and then import the rest using "Auto - by Shared Coordinates" it will trigger something internally that in turn triggers the snapping issue. That trick generates a message that these files aren't sharing coordinates but the end result is that they land in the correct location because shared coordinates are matching their own understanding of the WCS.

Here's a summary of steps, sort of...

Examine your survey file and make sure it isn't too large.

If it is you need to reduce it so just the really relevant part of the site is what you import. I realize that there may be situations that challenge this assumption but if you create two files from one that provides two that are small enough to avoid the error message about extents then you can still bring them in, position them manually and then specific coordinates.

Once you've resolved the survey file checking, pick a spot in each file that can be used as a common reference benchmark. You'll need it to move them into position in Revit. Write down what the coordinates are for this benchmark.

Now you can import the files into Revit. Use the Auto - Center to Center option. In Revit 2013 don't check the "Correct lines" option. You don't have this option in 2012 but this process will still work.

Move the files into position keeping them all near the Revit project file origin. Now you can use the Specify Coordinates at Point (SCaP) tool to match up Revit with your benchmark in the cad file. Unclip the Survey Point and move it to the benchmark location. Fire up the SCaP tool and enter the matching coordinate values.

Revit now understands your real world situation. You should find that snapping to the imported file elements is not showing the graphical glitch.

Important, there is one more thing to avoid, don't create a master survey file that uses attached Xref's to combine several files together into a single file that gets imported into Revit. Doing this will trigger the snapping issue again. It does it in 2012 and 2013 regardless. I believe that the Xref's mark the origin somehow in the master file which creates an unavoidable file extents problem which brings the snapping issue back to life.

Easy?? Wish it were easier!


Unknown said...

Great post Steve, I wouldn't be surprised if the DWG contains an ordinate dimension whether that causes an issue as well. I have seen this many times, where even though you think there is no reference back to 0,0 an ordinate dim triggers the DWG to go screwy as well because it will pick up 0,0to drive coordinate locations.

DaveP said...

We had a problem just last week where there seemed to be a limit on how far we could Zoom In. Also, if you did a Zoom Fit, everything disappeared.
Turned out that somehow there was a Room Tag 69,000,000 feet from the model. Yes, that's 69 million. Which translates to about 13,000 miles.

Do you think that was outside the limit?

Steve said...

Yeah, I think that qualifies as outside the limit... :)

Ben May said...

Funny how this is still such a problem, all this time and people are still pulling their hair out trying to squeeze these cad files through the window so to speak

A couple of issues bringing in Architectural drawings that I have found
-Blocks within blocks
-Large radius arcs, the centre is often very far from the actual line. Have have never spent time testing this one but have had issues in the past

Ericg said...

For the snapping issue, i import my cad in a 2d drafting element family, make no modification, push it in the project. Now i snap on the 2d element rather then cad. For the coordinated, i manualy place with a common cad/revit coordinate. But when i export to cad, no way the origine match. They ucs are saying the same but virtualy they don't stick.

Ericg said...

Fogot to mention that when importing in a 2d family, there are no limitation of the what's so far distant.

mcoviello said...

Very Helpful post Steve,
I have a case where even using center/center is too large similar to David's. Do you see any issue with xrefing the site.dwg into another dwg and positioning the xref to a 'known point' at 0,0,0. Then loading this dwg into revit using origin-origin?

Steve said...

Xref into another dwg will generate the error even if geometry is small enough so that will not help.

I describe how to deal with files that are still too large, have to reduce their size, break into two or something like that.