AutoCAD linetype customizing facilities, part two

30 Sep, 1999 By: Bill Fane

It was a warm Friday morning, a perfect day for Grampa LearnCurve and his gorgeous wife to celebrate their 33rd wedding anniversary. Suddenly the phone rang. “It’s time,” shouted their son-in-law. What’s with the Grampa LearnCurve bit? Yes, campers, Captain LearnCurve is a grandfather. Rebecca Nicole Milne, 8lb. 12oz., born July 9, 1999.

Last month we covered AutoCAD’s various noncontinuous linetype styles. Sometimes the 45 available styles aren’t appropriate, so you learned how to define your own.

Excuse me, last month you promised to discuss linetypes that include text and symbols. I need a linetype that indicates hot water supply in a piping diagram.

Not a problem. Just issue either the Layer or Linetype command and load in the Hot_water_supply linetype. To read last month’s article on how to load a linetype.

Hold it! I also need linetypes for cold water and drains and compressed air and gas and. . .

Oh, all right, I’ll teach you how to create other linetypes that have text in them. Autodesk introduced complex linetypes in Release 13.
Last month we learned that AutoCAD holds linetype definitions in external files with an LIN extension.

You can create and edit these files with any standard text editor such as Notepad. By default, Release 14 holds its standard linetype definitions in a file called C:\Program files\…\Support\acad.lin.

Note that Release 13 keeps the complex linetype definitions in a separate file called ltypeshp.lin, but the principles and procedures are exactly the same. In fact, you can easily cut and paste the complex linetype definitions from ltypeshp.lin into acad.lin.

You can create your own file or you can edit the standard one. If you choose the latter course, remember rule number 2: Always keep a safe copy of the original file before you modify it. Rule number 1 is Never break rule number 2. Rule number 3 is: The original files are available on the installation CD-ROM when you don’t obey rules 1 and 2.

Linetype definitions with text
Before we begin, I must note a couple of points about linetype definitions. Once you load a linetype into a drawing, it is saved with the drawing. This means that if you send a drawing to other users, they don’t need your linetype definition file.

The other side of the coin is that if you change the definition of a linetype, you must then manually reload it back into the drawing. Thus, if you experiment with the changes we are about to discuss below, you must use the Linetype command to load in your changes each time and then Regen to see the changes.

When you open your copy of acad.lin, you see the definition for Hot_water_supply:

*HOT_WATER_SUPPLY,Hot water supply
—— HW —— HW —— HW ——
A,.5,.2,[“HW”,STANDARD,S=.1, R=0.0, X=-0.1,Y=-.05],-.2

The first line includes the name of the linetype up to the comma. The rest of the first line is the descriptive text that appears in the Linetype dialog box. The Release 14 and 2000 Linetype dialog boxes also have an Appearance field that shows a quick translation of the linetype definition.

Figure 1. Here are two sample sections of the linetype, along with a copy of the linetype definition. The red leaders show which portions of the linetype definition control what.

The second line (shaded above) contains the meat of the definition. A comparison with a regular noncontinuous definition shows many similarities. For example, it must always start with an A, and commas separate line segment definitions. Positive values indicate pen down, or visible, segments. Negative values define pen up, or gap, segments. For best results, a linetype definition should end with a pen-up segment. In our example (figure 1), the line starts with a segment 0.5 units long followed by a gap of 0.2 units,
then a bunch of stuff that we’ll come back to, and another gap of 0.2 units. The pattern then repeats as necessary.

The only difference in a complex linetype definition appears in the section between the square brackets:


Once again, the definition is divided into sections by commas. HW specifies the exact text that appears spaced down the line. It is case-sensitive.

Standard is the text style name. You can specify any text style that currently exists in the drawing. Note that the text style must also exist in any other drawing into which you want to load the linetype.

Everything else is optional and defaults to zero if you omit it.

S=xx specifies a size or a scale factor for the text. If the specified text style has a size of zero, S=xx specifies the exact size of the text. If the specified style has a size greater than zero, S=xx defines a scale factor by which the text style size is multiplied. Note that LTSCALE multiplies the sizes of all the segment and gap lengths and further scales the text size.

R=xx specifies the rotation angle of the text relative to the line segments as you draw them. Our example of zero aligns the text parallel to the line segments. The text in a line segment that is drawn right to left is upside down compared to a line segment drawn left to right. If you use A=xx instead of R=xx, the text alignment is always absolute relative to the origin. A=0 means that the text always remains horizontal.

X=xx is a horizontal offset distance for the start of the text. The example X=
-0.1 moves the start of the text 0.1 units back into the preceding line segment, which in our case is 0.2 units long. To achieve the same effect, set the preceding gap length to 0.1 and then set x=0 (or omit it).

Y=xx is a vertical offset distance for the text. The text normally aligns from its lower left corner. If you want to center it in the complex linetype, give it a negative value equal to half the text height. This can get a little messy because it is not scaled by the S=xx factor (but it is scaled by LTSCALE). You usually get the best and most consistent results by using a text size of zero for complex linetypes, even if this means creating a special text style just for this use.

The only other slightly gnarly bit with regard to text placement is conveniently forgotten by AutoCAD’s documentation. AutoCAD doesn’t automatically calculate the length of space required for the text from the specified characters. You must define it yourself. In our example, if you change HW to HOT, the T crowds the start of the next pen-down line segment. Changing the font specified for the text style also has an impact.

Back to the “bunch of stuff”
Let’s go back to the definition of the line segments. As we saw, the example line starts with a pen-down segment 0.5 units long followed by a pen-up segment 0.2 units long. This point defines the start of the text, but it also defines the start of the next line segment. In the example, the last line segment is a pen-up section 0.2 units long. If you put more or less text in the line or change fonts, you must adjust this final pen up segment accordingly. Take a look at the Gas line definition in acad.lin. Note how the last pen-up segment is 0.25 long instead of 0.20 to allow for the extra character in GAS.

The problem is compounded because an “i” is typically narrower than an “m”, and the specific character widths depend on the font. You usually need to experiment a bit to get the desired result for a specific text message.

Complex linetype definitions that include text most commonly identify the various lines in flow and schematic diagrams and the contour lines on maps. But I am sure a lot more applications are lurking out there.

Complex linetype definitions also let you include custom shape symbols. Come back next time when I show you how.

And now for something completely different
Household pets, dogs in particular, can get jealous when you bring a new baby home from the hospital. To help ease the introduction, bring home a blanket that the baby has used so the dog gets used to the smell.

More News and Resources from Cadalyst Partners

For Mold Designers! Cadalyst has an area of our site focused on technologies and resources specific to the mold design professional. Sponsored by Siemens NX.  Visit the Equipped Mold Designer here!

For Architects! Cadalyst has an area of our site focused on technologies and resources specific to the building design professional. Sponsored by HP.  Visit the Equipped Architect here!