Drawing Scales, Part 2: Scaling the Tallest Drawing (Learning Curve AutoCAD Tutorial)29 Feb, 2008 By: Bill Fane
Self-scaling annotations will change the way you draw in AutoCAD.
It was a cloudy, winter day. A light snow was falling. Captain LearnCurve and his son were skiing on Whistler. They had just dropped into West Bowl on the double-black-diamond run called Cockalorum, and were now working their way down through the waist-deep powder. Suddenly a thought rang out. The Captain realized he needed a topic for this month's column.
That's it! Drawing scales and annotative objects!
"What has that got to do with skiing on Whistler?"
"Hey, some of your segues are pretty bad, but this one is ridiculous!"
Last month we reintroduced the quarter-century-old topic of drawing scales. That's right; AutoCAD is 25 years old, "The Learning Curve" is 21, and drawing scale can still be an issue.
We saw how the drawing scales functionality evolved from simply setting an appropriate size for text and scale factor for dimensions. Okay, so that approach wasn't all that simple.
We followed the evolution of drawing scale through the introduction of paper space layouts. The theory was that documentation objects such as text and dimensions should live in paper space. This sounds good, but it has two main problems.
First, the dimensions and text are not visible in model space, which can make editing the model difficult. The second problem was that paper-space dimensions lost their associativity with the model. The introduction of trans-spatial dimensions helped with this, but the first problem remained.
We then went on to see how the new annotative objects solve both problems. When working in model space, we can now simply select a drawing scale from a drop list. Dimensions automatically size to suit the selected scale. Better yet, we can apply dimensions at more than one scale, and they will only appear in those paper space layout viewports that have scales matching the dimension scale. This neatly takes care of details at different scales.
Same Old Line Again
Now let's explore some of the other annotative objects that are available to us. The easiest to start with is the noncontinuous linetype. It is easiest simply because it is automatically annotative, but not in quite the same manner as other objects. Once again, the easiest way to explain things is to walk through one step at a time.
- Start a new drawing, using the standard ACAD.DWT template.
- Switch to paper space. Grip-edit the viewport to make it about one-quarter the size, and create another, larger viewport in the rest of the layout.
- Set the small viewport to have a scale of 1:2 and the large one to be 2:1, using the drop list as we learned last month.
- Switch to model space.
- Draw a circle with its center at 1,1 and a of radius 1. This step isn't really necessary to the process, but it will give us a size reference later.
- Create a new layer called Hidden with color green and linetype hidden2, and set it to be current.
- Set the model space scale to 1:2, again by using the drop list, as we learned last month.
- Draw a line randomly through the circle. Note how the linetype scaling automatically adjusts to suit the model space scale; there is no need to figure out and apply Ltscale.
- Change the model space scale to 2:1, then Regen the drawing. The linetype scaling updates to suit the new model space scale.
- Switch to paper space, and observe the line in the two differently scaled viewports. (You may need to pan within the viewports to make everything visible; double-click inside a viewport, pan as necessary, then double-click outside a viewport to return to the layout.) I changed the viewport objects to cyan color to differentiate them from other drawing objects. Note how the dash and space lengths are the same in both viewports, even though it is the same line. The viewport scale has adjusted things accordingly.
The dashed lines and the 2.00 dimension are not duplicates; they are the same objects shown at different scales.
The difference between noncontinuous lines and other annotative objects is that they always appear in all viewports, whereas the dimensions that we saw last month appeared only in the viewports that had scales matching the dimension scale.
Ah, but what of the old Ltscale setting? Good question. It still exists and still works as a global scale factor, only now it applies to the annotative scale factor. Thus, if we change Ltscale in our current drawing to 0.5, all the dash and gap lengths will be half of what they were at all the different scales.
An Interesting Bit of Text
Automatic annotation scaling can also be applied to text and mtext:
- Invoke the Style command (Format / Text Style ...).
- Create a new style, or edit an existing one.
- Turn on the Annotative check box.
- Normally, the easiest way to approach this is to set a Paper Text Height. This is the height at which you want text to appear in paper space, even though it exists in model space. If you leave it at zero, each time you add new text you will be prompted to change the setting, and the default is 0.200. If you set a finite height (say 0.125), you will not be prompted and all text using this style will be the specified height.
- Click OK.
Done! Now, any text or mtext that you create in model space using this style will be annotative, and will scale itself accordingly.
Annotative text and mtext objects behave exactly like annotative dimensions. They will appear at the appropriate scale in model space and will only be visible in those layout viewports that have viewport scales matching an annotative scale of the objects.
Now we come to a couple of significant details. First, an annotative dimension style scales its text even if its associated text style is not annotative. Conversely, a non-annotative dimension style does not scale its text even if its associated text style is annotative.
Note: Setting an existing text or dimension style to Annotative is not retroactive, but you can use the Properties command (Modify / Properties) to change the properties of existing objects to be annotative, and vice versa.
Let's move on to the other annotative objects. By now you should be familiar enough with the concepts that it should not be necessary to work through detailed exercises each time, so all we need are the few specific details on each type of annotative object.
Block that Attribute!
The Attribute Definition dialog box (Attdef) now includes an Annotative check box. If an attribute definition is Annotative, it will size itself to the current scale each time its mating block definition is inserted.
If you specify a text style that is annotative, the Annotative check box turns on automatically, but you can turn it off even if the text style is annotative.
If Annotative is on, the text size is automatically corrected for the current scale setting, even if the mating text style is not annotative. Remember how dimension styles worked the same way?
Biggest Kid on the Block
The Block Definition dialog box (Block) now includes an Annotative check box. To cause the least amount of confusion, the current scale should usually be 1:1 when you are creating annotative blocks.
Annotative block definitions can also contain annotative or non-annotative text and attributes in any combination. When an annotative block is inserted, the basic AutoCAD objects such as lines, circles, arcs, and so on will be scaled. Text and attributes will scale or not, depending on whether or not they are annotative.
When a non-annotative block is inserted, the basic AutoCAD objects such as lines, circles, arcs, and so on will not be scaled. Text and attributes will scale or not, depending on whether or not they are annotative.
Annotative blocks would normally be used for explanatory objects such as north arrow, surface finish, and welding symbols. They would not normally be used for real objects such as tables, chairs, and machine components.
What Kind of Scheme Are You Hatching Now?
The Hatch dialog box now includes an Annotative check box. A minor nuisance is that it must be checked manually each time hatching is applied. As with other object types, annotative hatching will appear only in any layout viewport that has a viewport scale matching that of the hatch object.
If you set a specific scale in the Hatch dialog box it will be multiplied by the annotative scale when the hatch is applied.
Ah, but what if you want hatching to appear in more than one viewport? For example, what if your main viewport displays a section view of a part, and you want a detail at a different scale for a portion of the same part? How do we address this or any other situation in which we want an annotative object to appear in more than one viewport, each of which has a different scale?
The procedure is quite simple:
- Invoke the properties command (Modify / Properties) and select the hatch object.
- The Properties dialog box includes a Pattern section.
- Click in the right-hand end of the Annotative Scale window to bring up the Annotation Scale dialog box.
- Click Add, and then select an additional scale.
- Click OK enough times to close everything.
The hatch object will now appear in all appropriate viewports, suitably scaled.
Multiple annotative scales are not limited to hatch objects. In fact, any annotative object can have multiple scales attached to it.
Historically, double dimensioning has been very dangerous. You might change one of them but miss the other. The toolmaker finds the unchanged one first, and you end up with 52,346 parts that don't fit. (You don't want to know how I know that.)
An annotative dimension solves this problem. It is still only a single dimension in model space, even though it may be located differently at the different scales. The 1.400 dimension in the figure illustrates this.
Nothing has been drawn twice. The object outlines, the hatching, the center line, and the dimensions (including 1.400) are simply automatically scaled, different views of the same objects.
If we edit the model, all the annotative objects at all the scales update automatically.
- The Properties tool can be used to apply additional annotative scales to more than one object at a time, and/or to convert multiple objects to or from being annotative.
- The list of standard scales can be edited to add new ones or to delete unwanted ones using the Scalelistedit (Format / Scale List) command.
- The new multileaders (Mleader) can be annotative, as set by the Mleaderstyle command.
- There is an Annotation Visibility button in the lower right corner of the model space screen. When it is off, AutoCAD displays only those objects that have annotation scales matching the current model space scale.
When this is on, AutoCAD displays all the annotative objects regardless of their scale setting. Those objects that have an annotative scale that matches the current setting are shown at that scale, while others are shown in the scale at the top of their individual scale list. If you select an annotative object when this is on, AutoCAD will highlight all the differently scaled versions of it. It is off by default, but turns itself on as soon as you add a second scale.
And The Crunchy Bits
- By default, the standard text and dimension styles are current and are not annotative. I assume this was done to maintain compatibility with older customizing, such as scripts, menus, and AutoLISP.
- Tables and fields are not annotative, even if their associated text style is.
- In a layout, the viewport scale can be different from the annotation scale, but normally we would want them to be the same.
- There is another button in the lower right corner of the model space screen, Auto Add New Scales . This one can be really dangerous. It is off by default, and rightly so. When it is on and you change the model space scale, all existing objects automatically acquire the new scale. The problem here is that now every object matches every layout viewport scale and so appears in every viewport of every scale.
I'll Show You Mine
Finally, there is the question of compatibility with earlier releases. AutoCAD 2008 is able to save back to earlier releases as far as 2000, but these releases didn't have self-scaling annotations.
No problem. AutoCAD simply creates new layers for each of the variants of the annotative objects. The layer names are the existing names with "@nnn" added at the end, where "nnn" is the scale factor. A copy of each annotative object is placed on the appropriate layers according to their scales. The earlier releases simply see them as different objects on their own layers.
When the drawing is reopened in AutoCAD 2008, it brings everything back together again.
And In Conclusion
Self-scaling annotations are invoking a massive paradigm shift in how all AutoCAD drawings are created from now on.
In closing: I don't believe it. I got through two entire columns on scaling without once mentioning ladders, mountains, or fish.
"How about the opening paragraph? It involved a mountain."
Yes, but scaling a mountain means to go up; we were skiing down.
And Now For Something Completely Different
Never, ever, ever ski out of bounds. A couple of days after the Captain and his son were skiing Cockalorum into West Bowl, two people slipped under the fence to try and get into the fresh powder a little higher up in the bowl. One was killed when the avalanche they caused swept them over a 150' cliff. The ski area boundaries are there for a reason.