Civil 3D Fundamentals: Description Keys

I really hate to do two fundamental posts back to back, but this was a request from one of my clients this morning. If I’m going to take the time to document something for one person, then I make the assumption that there may be someone else out there who would like the information as well, so I put it here. Quite honestly, it’s also a library that I create for myself as well – I can come back to one of my solutions and point it out for another customer later if needed.

So, today I am going to show a very broad overview of description keys. I’ll save any really in-depth discussion for a future post. To find out what that intimidating looking panorama is asking for, follow the link.   (note – for some reason, inline images and Windows Live Writer do not seem to agree completely with our layout…if you have your window maximized as you’re reading this, you may see some strange formatting issues.    Actually, you may see some strange formatting issues even if you don’t have a maximized window.   I apologize – I’ve spent about an hour trying to edit this to make it look acceptable.)

Below, you will see the panorama display for description key sets. We’ll be breaking this up and going cell by cell for the explanation, but this is what it looks like overall: (note – I’m so glad I figured out yesterday that our image width could be more than it used to be…I love our new design!)

Description Key Panorama

Now, let’s take this cell by cell and see what we can do with it. I’m going to use one of my keys as an example, and show you the results at the end. This particular key is for my tree shots. My shots are coded as “Tree {diameter} {species}” So – a 12″ Pine would be coded in the field as TREE 12 PINE. Now, let’s look at how that will come in.

image The first cell is the Code. Notice that my code has a wildcard (*) in it – this signifies that we find “TREE” and anything that comes after it. This way, TREE 16 PINE and TREE 34 OAK will be pulled in under the same key. Try to take the code out as far as you could – for example, if I have a code of C*, then CURB, CONC, CROSS, CMF, CMP, COW, etc. would all be picked up the same, and that’s not what I want.

image The next cell is the Point Style. If you have a particular point marker style set up, check the box. This will allow you to pick the style to be used with this point. You will notice that I am using a point style of Tree – 20ft. This brings in a block of a tree to be displayed as my point marker. How that marker will be displayed is decided a little further down the line.


Moving on down the line, we get to the next cell, which is the Point Label Style. This is where you specify which label is applied to your points. My style is set up to take advantage of some other features of the description key, most notably the ability to re-write descriptions and create what is referred to as “full descriptions.” More about that later.


The next cell is where things get a bit interesting, and is often the most misunderstood portion of description keys. This is the Format cell, which dictates how our description is written. Typically, I’ve always used a format of $* for all of my description keys, since that matches exactly how the description was entered in the field. However, I’ve taken the opportunity to re-write my descriptions here. My parameters are 1 and 2 – for some reason, the very first parameter in a description is parameter 0. So, in my example of TREE 12 PINE, $1″ $2 would be rewritten as 12″ PINE. Make sense? If not, a search of the Help file in Civil 3D on the term “Description Key Format” will return an extremely well-written page on how formatting works, and will give more examples and definitions than I want to take the time to write here. Seriously, go read that page. It’s pretty vital to the operation of description keys, and you can do some pretty darn amazing things with it.


As we go across, we come to the Layer cell. Believe it or not, this is the cell that caused this post to be written. My client had noticed that layering had been removed from point group definitions in the 2008 release of Civil 3D, and asked how he could put his points onto layers again. This is where point layering is accomplished. As with the preceding cells, make sure the box is checked, and then you can select the layer that this particular point will go on.


Just as the Format cell was where things get confusing, the Scale Parameter cell is where the real meat of the customization can begin. If I want to scale my point for any reason – let’s say (hypothetically of course) that I want my trees scaled based on their diameter. Well, I’ve got the diameter of my tree in the description, and it’s in the Parameter 1 slot, so if I check the box and select Parameter 1, that number will control what data the point will use for scaling the size of the block.


Once again we run into a cell that lets us control how our points are sized in the drawing upon insertion. If I want each of my points to have the same size and I don’t want that size controlled by the drawing scale (or annotation scale), then I will enter a number here in the Fixed Scale Factor cell.


In the same vein, if we want to use the drawing scale (or annotation scale) to control the size of our points, we will set the toggle here in the Use Drawing Scale cell. This is just one more way to specify how our points are sized upon insertion into the drawing.


Once you specify how you want your point scaled, you need to specify some detail – for example, if you want this scale to apply to the X and Y axis, you would use the Apply To X-Y cell to do that. This allows uniform scaling of your points if desired.


While we’re thinking of point scaling, we have to look at that sometimes irritating other axis, the Z axis. If you can think of a reason to apply your scale factor to the Z direction, this is where you will set that – in the Apply to Z cell. If you come up with a reason to do that, let me know in a comment – I would be interested in seeing this application.


Want to rotate your points? Well, you can, in exactly the same way that you scaled them. If your survey crews enter a rotation angle in the description of the point, you can pick that parameter here in the Rotate Parameter cell. Look at how your points come in now, and you’ll see what that rotation angle needs to reference to get the results that you desire.


Don’t have a rotation parameter in your descriptions? Still want to rotate your points to some fixed angle? This is where that’s taken care of – in the Fixed Rotation cell.


The last cell in the Description Key panorama is the Rotation Direction cell. Since you’ve specified all these nifty rotation parameters, you need to let the program know what to do with that angle – clockwise or counterclockwise?

Last thing – I promised you that I’d show an example of how my description key looked when finished. Point number 10 in my point file was described as TREE 36 OAK – below, you’ll see what that point looks like in my drawing. Have fun!



  1. johnbeatle says:

    Good post.
    I got into these about two months ago and it was a bit confusing for about a week and a half. After doing some trial and error we got everything coming in good, but also found out that the survey crews needed some relearning on their descriptor codes.

  2. T_Bernhard says:

    With reference to the “Apply to Z” column, I guess the obvious application is to points that you apply a 3D block to in the Point Style. Our office has been spasmodically debating whether to use 3D Point Styles, not seeing real benefit to it yet, but that “Apply to Z” setting would allow the creation of tall thin trees and short stumpy ones. (It would require a number of Point Styles, but it could be done

    On the associated subject, if anyone out there has implemented the use of 3D Point Styles in their office, I’d love to hear how and why:


    Stupid period in the link. Webside discussion is the Devil’s work I tell ya. – JW

  3. Hey JW
    Trevors link to the discussion thread Can’t be found.

  4. Jason Sierschula says:

    Can anyone tell me why I am not able to to change my fixed scale factor or scale parameter in my desc key editor? I click in the cell and nothing happens!