Civil 3D Annotation Scaling Revisited

One of the most frequently-asked questions in the Civil 3D discussion groups has to do with how scaling works for Civil 3D labels and tables.  The question usually comes up phrased as “How come my text looks good in modelspace, but is huge (or tiny) in paperspace?” or “How come my Table columns overlap in paperspace?”

At first glance, Civil 3D labels and tables seem to scale much like Annotative Text.  However, Civil 3D Labels and Tables were capable of their auto-sizing behavior long before AutoCAD got Annotative Text, and do not use the Annotation Scale at all.  Instead, Civil 3D Labels size according to their own rules.  Read on for more…

With both Annotative objects and Civil 3D Labels, we specify the printed text height in our Style definitions.  Then, Civil 3D automatically scales our objects to the correct modelspace height, so that the text is the correct size when we print it.  And to calculate the correct modelspace height, both Annotative objects and Civil 3D Labels use our paperspace plot scale as one factor (see the article Understanding Civil3D Annotation Scaling, by Joshua Modglin, for details on how the plot scale affects annotation).

However, that’s where the similarity ends.  When calculating the modelspace height for Annotative objects, Civil 3D will use the current modelspace Annotation Scale.  However, Civil 3D labels do not use the Annotation Scale, but instead scale according to the current Drawing Scale, from the Drawing Settings.  Similarly, in paperspace, Annotative objects will scale according to the viewport’s Annotation scale, while Civil 3D Labels scale according to the Viewport Scale.

To make things a bit more convenient, the scale in the status bar at the bottom of the screen will change all of these items at once.  Here’s a picture as it appears in Civil 3D 2011, with the scale bar circled in red:

scale_in_status_bar

If we are in modelspace, then changing the scale in the status bar will change both the modelspace CANNOSCALE and the Drawing Scale in the Drawing Settings.  If we are in a paperspace viewport, then changing the scale in the status bar will change both the viewport CANNOSCALE and the Viewport Scale (i.e. zoom factor).  This means that if we always use the scale in the status bar to adjust our scales, our Annotative objects and our Civil 3D labels will remain in sync, and scale the same way.

Note that Civil 3D Labels will not necessarily resize automatically when you change the scale.  You may need to regen your drawing to see the effect on Civil 3D Labels.

Keep in mind that we can change this scale in modelspace, and it will not affect any of our viewports.  So if we are creating something for a viewport that is set to 1” = 50’, then we may want to set the scale in modelspace to 1” = 50’.  This will make everything in modelspace look the same as it does in our paperspace viewport.  Then, if we want to work on some annotation for a paperspace viewport that is set to 1” = 20’, we can change our scale in modelspace to 1” = 20’, so that everything in modelspace looks the same as in our 1” = 20’ viewport.

This can be important when using Tables.  Our Civil 3D Tables must be inserted in modelspace, and when we do this, the layout (e.g. the spacing between columns) is calculated using the Drawing Scale.  If our Viewport Scale in paperspace is not the same as our Drawing Scale, then the table will look wrong in the paperspace viewport.  So the easiest way to work with Civil 3D Tables is to stick them in their own paperspace viewports, and make sure these viewports are set to the same thing as your Drawing Scale.  Then the Tables will look the same in both modelspace and paperspace.

And finally, if we take a look at the Properties of a paperspace viewport, we can see that we can set the Annotation Scale to a value that is different than the Viewport Scale (zoom factor).  For example, in the image below, we can see the Properties for a viewport where the viewport scale is set to 1” = 20’, but the Annotation scale is set to 1” = 30’.

split_scales

This allows us to create effects like “reduced viewports”, where items in the viewport look the same as if we used a photocopier to create a reduced print.  This trick works well in plain AutoCAD when we are using Annotative MText, Dimensions, and MLeaders.  Unfortunately, we can’t use this trick for Civil 3D Labels and Tables, since the Civil 3D objects will always scale according to the Viewport Scale. Hopefully, at some point in the near future, Autodesk will give us the ability to configure our Civil 3D Styles so that they use the Annotation Scale, and then we’ll be able to use this trick in Civil 3D.  But until then, you will probably want to make sure your Annotation Scale is always set to the same thing as your Viewport Scale in each of your paperspace viewports, so that your Annotative objects and your Civil 3D Labels scale the same way.

6 comments

  1. R.K. McSwain says:

    Good article. Thanks.

  2. Andrew Stewart says:

    Civil 3D labels that are XREF’d into a drawing, however, won’t scale up or down in model space according to drawing settings OR anno scale. For example if you label your contours in your existing base plan and XREF that into your proposed base plan, the contour labels are stuck in model space. They will scale in viewports for plotting purposes.

    Either that or I can’t figure something out.

  3. This is one of the many reasons I work through the viewport in paper space for plot files. It is a WYSIWYG environment.

  4. Dennis Schmidt, P. Eng. says:

    Andrew,

    Unless I’m off, using data ref’s is better in that respect. I dref the surface in and generate contours and labels in the working drawing as opposed to the xref.

  5. Matt Anderson says:

    Heck, why not just xref the surface and label thru the xref…no shortcut needed!

  6. Andrew Stewart says:

    I like labeling through XREFs too. I really feel like Civil 3D solves the problem of having to constantly change every sheet if you label through the viewport of each plot file.

    My problem with labeling an existing surface in my design file is that I have to mess with my company’s layering standards to do so. Ideally, all survey items should be placed on a V- layer. Also ideally, no survey items should exist in the design file on their own (independent of an XREF). Bottom line, there should be no survey items or V- layers in the design file. So what layer do the contour labels belong on? They’re technically a survey item, so they shouldn’t be in my design file. They also should be on a V- layer, so again, they shouldn’t be in my design file.

    Maybe I’m being a little too hard on the issue, but it would be nice if XREF’d labels scaled up and down.