Thursday, June 22, 2006

Label Style for Calling out Elevation of Polyline "Contours"


We all know in our minds that the best way to get contour data is to build a great surface using points, breaklines, grading objects, corridors, feature lines, etc.

But sometimes, as much as we want to fight it- we wind up with hand drawn polylines that represent contours.

Now, as I metioned in an earlier post you can build a great surface from polyline data. In fact, lately, I have built some surfaces from the most horrible polyline data in the world and gotten a perfect match.

HOWEVER- you may not want to go through the trouble, or maybe it is a legacy drawing, or whatever.

Civil 3D 2007 has a new label style that allows you to label regular lines and polylines. The first use that comes to mind is labeling lines for bearing and distance without them having to be part of a parcel or alignment. But they are additionally useful.

Here is how to make a label style for a polyline "Contour". Use these illustrations to get your own ideas going for line labels.

1) Expand you under Settings tab-General-Label Styles-Line



2) Create a new Line Label Style




3) Give your Label Style a name


4) Get rid of the components that you don't want.


5) Add a new line of text



6) Call it "Elevation" or whatever makes sense to you. Change the color, text height, etc.

7) Click in the Contents box to bring up the Text Component Error.



8) From the drop down, choose what you would like to "harvest" from this line. Since a contour has one elevation, it doesnt matter which Z you choose.



9) After setting the precision and other options, hit the arrow button to "shoot" the code over.



10) Add any "hard text" (things you want to be there regardless of the "harvest" such as a ' or "FT" or "m")



11) Play around with the offset and text location to find something that works.



12) Add a textmask to make a visual break in the line at the label location.


13) Confirm your preview and them press OK.



14) There are a few ways to find the labeling tools. One way General> Add Labels

15) Choose line and curve labels (note if your contours contain curves, you will need to repeat the process we just did with a curve label)


16) Pick the style you just made



17) Label away!



Other ideas:

AREA LABELS- Silt Fence, Area of Disturbance, SWM, Parking, Zoning, etc.

I personally like to make sites and use parcels for things like E+S areas and SWM subcatchments, because then I can make tables and add other goodies, but that takes some thought and setup.

Right now, you probably use a closed polyline for those things- now you can get a dynamic label that responds to changes in the polyline area.

Here is a low documentation set of images to get you started with something like that... hopefully this gets your creative juices flowing...


**There has been some confusion over what I am trying to show in the above capture. The dynamic area label is what I am trying to show off, but a lot of folks like the --SF-- linetype. That is just a custom linetype that Beth made using the ExpressTools menu. First she made a shape of SF (so that it doesn't react to textstyle changes) then a custom linetype. Let me know if you need help with that. I did not use the labeling to get that SF. It came when I drew the line from the custom linetype.**

3 Comments:

John said...

I have been looking for a function like this for years! I knew it could be done with contours. I've always HATED when someone would draw a line, add text along it for fencelines(x), storm(SD), SS, W,G, etc. and then BREAK THE LINE AROUND THE TEXT!! Softdesk "special lines" wasn't much better. Recently I've developed complex line types for this but a letter always seems to land in a bad spot. And try to get DNRECs E&S swale formula between nodes!

Dave Dixon said...

this is SUPER COOL! Thanks again.
Dave

Anonymous said...

not bad...BUT when i want to spline the polyline the elevation dissapears. I really need this function to work for a plyline splined. Any ideas?? In my industry splined polylines look really nice and neat.