Hiding Surfaces the Quick and Dirty Way

Sometimes you don’t to show existing ground beneath proposed grade. While a hide boundary is a relatively simple thing if you’re working in the original file, you can’t modify a data reference. And could pull out a mask, but that can get a bit convoluted if you’re trying to punch a whole that’s not a nice simply rectangle. So what’s a linework-obsessive Civil 3D user to do? Well, this one reaches in to the old bag of tricks that don’t always work nicely, but work when you need them. See my solution after the jump.

Here’s my existing ground surface


Nothing too exciting, but a fair number of contours running across a smallish site. Drop in the proposed surface, and it gets pretty busy as you can see here:


The contours are also generally in the same directions, and in this client’s pen setup, they were pretty similar in appearance, so they wanted to mask them out. I’d convinced them to use data shortcuts instead of putting everything in one file (really not that hard of an argument, but sometime it can be,) but now we were stuck. I didn’t want to cut a hole in the surface, it would be useless for profiles. I didn’t want to kill the connection to the source, that’s a bad idea. The AECCLINEWORKBLOCKTOSHRINKWRAPMASKOFTHESHROUDOFTURIN command doesn’t even work on surfaces. Every other C3D object, that would be my solution.

Then it hit me, WIPEOUT.

imageNow, I’m not a fan of the wipeout. They give people fits and sometimes blow up depending on your plotter merge settings. After a few seconds of discussion with the crew though, I think this will work for them, maybe it will work for you.

First step, modify your FG surface style to display a border, and be SURE that style is set to Flatten Elevation to 0. When you use surface extraction and grab the border, this will give you a simple polyline. Extract, then close that pline with PEDIT. Type WIPEOUT at the command line and you’ll have the option to convert the new pline to a wipeout. When you hit OK, you’ll be left with something like this.


You might need to use the WIPEOUT – Frames option to turn it on, but grab the wipeout and use draworder to send it to the back. Then send the EG surface to the back, and you’ll be left with the last image. You can then toggle the wipeout frame off and you’ll be set to go. I know it’s not perfect, and there are some plotters that will balk at wipeouts, but it was what I could come up with on the spot.

What solutions do you have for sticky display problems? Share in the comments below!


  1. Craig Dieziger says:

    This is how I would do it and not say anything against James method but I think you will find this easier and more flexible.

    1. Create a new surface (either in a new drawing or in the drawing with the existing ground surface. I prefer to create a new drawing and then data reference the existing ground surface into it.) Note I tend to keep surfaces in separate drawings and xref where I can and data reference where I need to change the display of the surface.

    2. Call the new surface something like “EG minus FG area”.

    3. Paste the existing ground surface into this new surface “EG minus FG area”.

    4. Extract the boundary from the finish ground surface.

    5. Add the copied boundary of the finish ground surface to the drawing with the new surface “EG minus FG area”.

    6. Add this boundary as a hide boundary to the new surface “EG minus FG area”.

    The reasons I like this method are;

    • It is semi dynamic.

    • It will update when the existing ground changes but not when the finish ground changes.

    • It allows you the ability of either xrefing or data referencing the surface.

    • You still have the ability to change the display of any of your surface easily.

    • It also allows for you to sample profile and cross section in different methods either with a hole (not showing the finish ground area) or the whole surface cut easily.

    • Generally I think this affords you more flexibility with the one drawback of having to update the hide boundary every time the finish ground boundary changes.

    • It allow the major objective of displaying the existing ground with the finish ground and no existing ground surface contours showing under the finish ground surface.

    This brings to my wish list item the ability to use a surface as a boundary in another surface. For example, we could use the finish ground surface as a hide boundary in the “EG minus FG area” surface thus making it totally dynamic. Hopefully Autodesk see this and finds away to add it in the current or future releases.

    Thanks James for all you do,

    Creg Dieziger
    Sr. Designer Morrison-Maierle, Inc

    P.S. I still would like my logged in name to be my name displayed rather than Morrison Maierle. If that is possible. Thanks

  2. Ben Thayer says:

    I like to use an inverted XCLIP.

    Leave the existing ground in an EG file, and create the proposed surface in an FG file. Data reference the EG surface into the FG file and put it on a hidden style for creating profiles. That way if the FG file gets corrupted, the EG is isolated and safe.

    For displaying the combined surfaces, xref the EG file into the FG file and xclip the EG file. Use your surface boundary as the xclip boundary, invert the xclip, and you’re in business.

  3. Paste the Data Reference surface into a display surface and then Mask.

  4. mohammad paydari says:

    Extract flatten proposed surface border and make it a hide boundary for existing surface