It always seems like there’s something you can’t do in Civil 3D that you used to be able to do. For example, if my contours get really close together, i.e. the surface is steep, I would like to use a different contour interval for that area. In Civil 3D, you can’t specify a different contour interval for different slope ranges but, if you understand how the program works, you can accomplish pretty much the same thing. Read on for more information.
In the following image, you can see that there are areas of the surface that are simply too steep for the contour labels to show up correctly. In these area, I would like to use a different contour interval then the rest of the surface.
Now, if we were using AutoCAD, or LDT, or some other method of creating a surface, we could simply trim out the offending contours or polylines and we would be done. Not quite so easy in Civil 3D but it is doable. The trick is to use multiple surfaces.
Create two new surfaces (I called mine Flat and Steep) and paste the original surface into both of them and then change the style of the original surface to a No Display style. This will preserve the integrity of the original surface. Change the style of the Flat surface to display the dense contours and then copy that style and have it only display the major contours and assign that style to the steep surface.
Now, here’s the trick, create a polyline around the area that needs to display the alternate contours and apply that as a hide boundary to the flat surface and then apply the same polyline as an outer boundary to the steep surface. Want to do this to another area? Simple, create a new polyline and add it to the flat surface as another hide boundary but add it to the steep surface as a show boundary. Label the surfaces (you may have to duplicate the label lines to get the appropriate look) and you are done. If the original surface changes, the Flat and Steep surfaces will both change dynamically (you may have to adjust the boundaries manually though).
I did try to accomplish this using surface masks but you can only add one hide mask to any surface.
If you have a different way of doing this or can see of some way I can improve on this, please let me know by leaving a comment.
March 16, 2010 at 5:10 pm
Very interesting. I will definitely have to try this out. I usually just have two label styles for this.
Tony
March 17, 2010 at 7:17 am
But the label styles don’t change the density of the contours. You could label just the major contours in these areas but there are times when the contours bunch up too much and you just want to see fewer contours in one area and that’s what this is really geared toward.
December 9, 2011 at 4:28 pm
The user-defined contours ALMOST get you there. The problem seems to be that you can’t delete them in others areas of the site. In other words, if I decide I want a contour at say elevation 1198.75, it adds the 1198.75 contour across the whole surface. I’ve tried to use CTRL+CLICK to delete other instances in the surface I don’t want. No luck. Would be nice if there was an option to apply user-defined contours over a specific area.