Showing posts with label Linetype. Show all posts
Showing posts with label Linetype. Show all posts

January 12, 2008

ACD-A Display System - Part 1, AutoCAD® Basics

I have been answering quite a few Display-System-related posts in the Autodesk Discussion Groups and AUGI Forums lately, and thought it would be helpful to post some information on the AutoCAD® Architecture Display System. Helpful to me, anyway, so I can just post a link, rather than (re)writing the information. The topic is a broad one, and if I wait until I have time to cover the entire subject, it will never happen. So here is the first of what I hope to be a multi-part series on the ACD-A/ADT Display System, a review of AutoCAD's display settings, as similar terms and features are used by ACD-A/ADT.

Color, Linetype, Entity Linetype Scale, Lineweight and Plot Style
The appearance and plotting of AutoCAD objects is controlled by four (CTB plot styles) or five (STB plot styles) properties of each object, which can be found and set on the Design tab of the Properties palette, in the General category.
Color: Determines the color used to draw the object on the screen. For color-dependent plot styles, also determines the plot style used to plot the object. When the object’s plot style calls for the plotted color to "use object color", also determines the plotted color (within the limitations of the plotting device used).

Linetype: Determines the pattern of dots, dashes and gaps used to drawn the object. Linetypes are defined in external text files with a LIN extension, following a prescribed format, and can be loaded into a drawing using the LINETYPE command.

Entity Linetype Scale: Three factors determine the final multiplier applied to the dashes and gaps included in the linetype definition. The first is the value of the LTSCALE system variable, which is a global scale factor applied to all objects. The second applies only to objects drawn in model space but viewed through a viewport on a layout, and is controlled by the PSLTSCALE system variable. If PSLTSCALE is set to 0, no additional scale factor is applied; if PSLTSCALE is set to 1, then a scale factor compensating for the zoom factor of the viewport, relative to paper space (often referred to as the scale of the viewport) is applied. Finally, the Entity Linetype Scale is applied. The default value for newly created entities is stored in the CELTSCALE system variable; this should, under almost all circumstances, be set to 1, to maintain a uniform look to a given linetype across all entities. On occasion, an individual entity may have its Entity Linetype Scale set to something other than 1; for example, a short line segment may need an Entitiy Linetype Scale set to slightly less than 1 to get at least one instance of the linetype pattern to show. New in 2008, an additional system variable, MSLTSCALE, allows you to work as you did before, when set to 0, or, when set to 1, allows you to set PSLTSCALE to 1, LTSCALE to the value you would use when plotting full size (1:1) and then leave these values alone, as the drawing scale will be factored into the display of linetypes in the Model tab. Read more about this new feature in this blog article.

Lineweight: Determines the relative width with which an object is drawn on the screen when the LWDISPLAY system variable is set to 1. The value of LWDISPLAY can be set using the "LWT" toggle on the Application Status Bar. When the object’s plot style calls for the plotted lineweight to "use object lineweight", then this setting also determines the plotted lineweight.

Plot Style: The plot style assigned to an object determines how the object will plot. For named plot styles, this is an explicit assignment in the drawing; for color-dependent plot styles, the plot style is assigned based on the object’s color.

ByLayer and ByBlock
In addition to assigning explicit values for color, linetype, lineweight and plot style, there are two "special" options, BYLAYER and BYBLOCK.

Assigning BYLAYER to a property causes the object to inherit the value for that property from the layer on which the object resides. Nested items within a block definition that are defined on the special layer "0" inherit the layer of the parent object, and, when "BYLAYER" is specified for a property, the value assigned to that property on the layer of the parent object.

Assigning BYBLOCK to a property of a nested object – such as an object within a block definition or a component of a dimension, causes that object to inherit the property of the parent object. If BYBLOCK is assigned to a main object, the default value for that property (color 7, continuous linetype, the drawing default lineweight and the Normal plot style) will be used for the object until it is made part of a block.

To illustrate the effects of ByLayer and ByBlock, I created a block definition that included the following items, with the noted layer and color properties. The effects of ByLayer and ByBlock, when applied to linetype, lineweight or plot style would be similar. The drawing file in which the block was created has four layers of interest: 0, color 7; Red, color red; Blue, color blue; and Magenta, color magenta.
ComponentLayerColor
LinesRed30 ("orange")
TriangleRedByLayer
Square0ByLayer
PentagonBlueByLayer
HexagonBlueByBlock
Circle0ByBlock
In the image below, the parent block is inserted on the Magenta layer in both cases; on the left side, the parent block color is set to ByLayer, which would be "magenta", and on the right side, the parent block color is set to "green".
Lines: In both cases, the two lines are "orange" (color 30), as they were defined with that color explicitly assigned, so neither the color of the layer on which they reside ("red", for the Red layer) nor the color of the parent block ("magenta" on the left or "green" on the right) have any effect on them.

Triangle: The triangle is "red" in both cases, because the triangle was defined on layer Red, and its color was set to "ByLayer", so it inherits the color of the layer on which it was placed.

Square: The square is "magenta" in both cases, because the square was defined on the special layer 0 and color was set to "ByLayer", so it inherits the layer of the parent object (Magenta) and therefore the color of that layer.

Pentagon: Like the square, the pentagon has an explicit layer assignment, in this case Blue, and therefore the "ByLayer" assignment results in the color being "blue" in both cases.

Hexagon: The hexagon is also placed on the Blue layer, but the color is assigned as "ByBlock", so it inherits the color of the parent object. On the left, that color is "ByLayer", so the color of the layer of the parent object is used – "magenta". On the right, the parent block’s explicitly assigned color "green" is used.

Circle: The circle is on the special layer 0, so, like the square, it inherits the layer of the parent object (Magenta). Unlike the square, it is assigned a color of "ByBlock", so while it appears "magenta" on the left, where the block is set to "ByLayer", on the right is appears "green", as the block is set to "green".

Note the difference in the behavior of the square and circle. Both are on the special layer 0, so both inherit the layer of the parent block object and both would not be visible if the Magenta layer were set to "Off". The square will always display with the block layer’s color, while the circle will always display with the block’s color. Sometimes those two may be the same, as on the left; other times they may be different, as on the right.

Next Article in the Series: ACD-A Display System - Part 2, Big Picture Overview

February 23, 2007

No More LTSCALE/PSLTSCALE Problems!

The muzzles have been removed, and participants in the Beta program for the 2008 release of AutoCAD Architecture (formerly known as Autodesk® Architectural Desktop) are now allowed to discuss the new features. I have been extraordinarily busy of late (was that not my excuse last year, too?), so bear with me while I try to find time to write about what you can expect in 2008.

One item that is really an AutoCAD feature but which I have not read about yet in any of the AutoCAD® 2008 blog postings (check out Lynn Allen's Blog and AutoCAD Insider by Heidi Hewett if you have not already done so) is yet another system variable to control the way linetypes display.

"Oh, dear! Not another variable to add to the existing CELTSCALE, LTSCALE and PSLTSCALE. I can not keep those straight - and now there is another?" you might be thinking. Before you don sack cloth and ashes and head out to wander aimlessly while cursing the fates aloud, relax - this is the feature you have wished for since paper space was introduced in Release 11.

The new system variable is called MSLTSCALE. A setting of 0 will result in the behavior you know and love so well in your current AutoCAD-based product. Setting it to 1 is where the magic begins. With MSLTSCALE set to 1, PSLTSCALE set to 1, LTSCALE set to whatever your office standard is for plotting at 1:1 (it may be 1, some use 0.5, my firm uses 0.375) and CELTSCALE set to 1 (not an absolute requirement, but I would recommend having the object linetype scale for newly created objects set to 1 and only change that in very rare instances when absolutely necessary on an object by object basis), you need NEVER CHANGE THESE VALUES AGAIN!

Yes, you read that correctly. Even if you are one of the elite who understand how LTSCALE and PSLTSCALE work in current releases, just think of all the time you will save trying to explain that to the unenlightened. One of the features of the new annotation scaling everyone is buzzing about is that now AutoCAD has a scale setting when the Model tab is active, and so now that you can tell AutoCAD the scale at which you are working, AutoCAD can figure out how to scale linetypes without you manually changing the value of LTSCALE. Perhaps this feature is not "worth the cost of the upgrade" - but it is a mighty fine addition and one that I hope to be using in the not too distant future.

January 15, 2005

Linetype Scale

There are three system variables that contribute to the display of linetypes in AutoCAD/ADT:

  1. LTSCALE is the "LineType SCALE" factor; it is applied globally to the linetype definition of all entities.
  2. PSLTSCALE is the "Paper Space LineType SCALE" system variable and it controls the display of linetypes in a Layout tab. There are two choices: use 0 if you do not want the viewport magnification factor to be applied to linetypes within that viewport; use 1 if you do.
  3. CELTSCALE is the "Current Entity LineType SCALE" and is the default entity line type scale applied to newly created entities. The setting of this variable only affects newly created entities; previously created entities entity scale factor is stored in their entity data and can be checked/changed in the Properties dialog. In my opinion, the variable should always be set to 1 and, unless there is an extremely good reason to do otherwise, the value should be kept at 1 for all entities. This setting has no impact on the Model tab vs. Layout tab linetype display issue, and is included only for completeness.

What settings to use for LTSCALE and PSLTSCALE will vary, depending upon how you use layouts. If all of your viewports [or if you only ever have one viewport] in your Layout tabs are the same relative scale and you never have any linetypes applied to objects in paper space, then you can set PSLTSCALE to 0 and LTSCALE to whatever you would set in the Model tab.

I rarely have that situation, so my standard way of setting up a drawing is to have PSLTSCALE set to 1. My Layout tabs are all set up to plot at full size [1:1], so when in a Layout tab, LTSCALE is set to the value I would use for full size plotting [our office standard is 0.375; other offices use 0.5 or 1.0]. On those rare occasions when I work in the Model tab, LTSCALE is set to the value based on my current "editing" scale [the intended plot scale of the area I am working on at that time]. For my office that is 0.375 times the editing scale factor, so for 1/8" = 1'-0", I would use 36. [Other offices would use 48 or 96.]