Nothing Special   »   [go: up one dir, main page]

Improved Layering

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Look What They Did to Layers in AutoCAD

Tom Stoeckel Autodesk


Qun Lu - Autodesk

GD401-3
AutoCAD 2008 introduces dramatic enhancements to Layers and Layer management. Join this
class for a practical overview of all these changes and how you can start putting them to good
use. You'll learn about all the improvements to the Layer dialog, Layer states, and various Layer
tools as well the new Layer Notification feature and the long-anticipated ability to apply Layer
property changes on a per-viewport basis. Learn how these tools work and when to use them
from one of the AutoCAD developers who implemented them.

About the Speaker:

Tom has been an Autodesk software developer for almost 10 years and currently works on the
AutoCAD Development Team. His AutoCAD experience spans more than 20 years and includes
production drafting, developing custom and commercial third-party AutoCAD add-on applications
and, of course, implementing new features for AutoCAD. Tom has worked on many aspects of
AutoCAD -- most recently, the new Layer enhancements introduced in AutoCAD 2008. He is a
frequent presenter at Autodesk University and enjoys the chance to interact with users.
tom.stoeckel@autodesk.com

Look What They Did to Layers in AutoCAD

SETBYLAYER
If youve ever tried to manage objects whose properties
(color, linetype, lineweight, plot style) have been set at the
object level, you know how frustrating it can be to get
control of them. If an objects property is set to anything
other than ByLayer, it displays that property regardless of
the layer on which it lives. Further, those objects will not
be able to display any viewport layer property overrides
that may have been assigned.
Using the new SETBYLAYER command, you can force specified properties of a selection set of objects
to ByLayer. Objects that have a ByBlock setting can also be changed to ByLayer. Unlike the CHPROP or
CHANGE commands, SETBYLAYER works on blocks & nested blocks and allows you to change all the
color, linetype, lineweight, material & plot style settings back to ByLayer in one shot instead of one at a
time.

How do I use it?


Launch the command by typing SETBYLAYER or by picking Change to ByLayer from the Modify menu.
Command: SETBYLAYER
Current active settings: Color Linetype Lineweight Material
Select objects or [Settings]:

The command displays the active settings indicating which


properties will be changed to ByLayer. To change the active
settings, type S at the selection prompt to display the
SetByLayer Settings dialog. From here you can choose
which object properties to change.
This dialog is always displayed - even when running
SETBYLAYER using LISP or scripts. If you need to
change these settings from automation, you need to use
the SETBYLAYERMODE system variable (see your
AutoCAD help for more information).
Once you have the settings you need and a selection set of
objects to be changed, you can choose how to handle blocks.
Change ByBlock to ByLayer? [Yes/No] <Yes>: Y

Choosing Yes causes properties that are currently set to ByBlock to be changed to ByLayer.
Include blocks? [Yes/No] <Yes>: Y

Choosing Yes causes the properties of all blocks in the selection set (including the block definitions and
nested blocks) to be changed to ByLayer. Changed blocks and nested blocks remain intact and will not
be exploded. Blocks not included in the selection set will not be affected.
2 objects modified, 1365 objects did not need to be changed.

Once the operation is complete, a message will be displayed indicating how many objects were changed.

Look What They Did to Layers in AutoCAD

Locked Layer Fading


When a layer is locked, none of the objects on that layer
can be modified until you unlock the layer. Locking layers
is very useful in reducing the risk of accidentally modifying
objects. Unfortunately, it can be tedious to identity which
layers are currently locked, even with the lock icon that
displays when you roll your cursor over a locked layer.
AutoCAD 2008 introduces the ability to fade the display of
objects residing on locked layers. This fading of locked
layers allows you to easily identify what objects are on
locked layers and helps reduce the visual complexity of a
drawing while still maintaining visual context for geometry.

How do I use it?


The main location where you can control the amount of
fading for locked layers is in the lower section of the Layers
control panel in the dashboard. If the panel is not already
expanded, move your cursor to the lower left corner and
pick on the chevron that will become visible. This will expand the layer panel to reveal a lower section
containing the layer fading controls, Layer Isolate and Unisolate buttons and the layer filters combo box.
To adjust the percentage of fading applied to locked layers,
either move the slider or type the fade percentage in the edit
field. Using these controls, the valid range is between 0% (no
visible fade) and 90% (maximum fade). You are limited to a
maximum of 90% fading to avoid making locked layers
disappear entirely and thereby confusing them with layers that
are off or frozen.
Pick the button to the left of the Locked layer fading slider to
toggle locked layer fading on or off in the current drawing.
When turned off, objects on locked layers display with no
fading. When turned on, objects on locked layers display with
the current percentage value of fading.
An alternate method to control locked layer fading is using the LAYLOCKFADECTL system variable.
One difference between using the system variable and using the dashboard panel is that
LAYLOCKFADECTL allows a fading range from -90 to 90. Dont let this confuse you. A negative value
simply means that fading is turned off but the amount of fading is retained for the future. Setting a
negative value is the same as picking the "Toggle locked layer fading" button in the dashboard.

LAYISO updates
After adding the ability to fade locked layers, the Layer Isolate command (LAYISO) was updated to
leverage this new functionality. The old version of LAYISO simply turned off the layers not being isolated.
The new version of LAYISO now offers the option to lock and fade those layers instead.
Command: LAYISO
Current setting: Hide layers, Viewports=Off
Select objects on the layer(s) to be isolated or [Settings]: S
Enter setting for layers not isolated [Off/Lock and fade] <Off>: L
Enter fade value (0-90) <70>: 60
Select objects on the layer(s) to be isolated or [Settings]:

Look What They Did to Layers in AutoCAD

Override Layer Properties by Viewport


For as long as AutoCAD has had paper space and viewports, people have asked the same question,
Can I make the same objects display with different properties in different viewports? The ability to
represent the same geometry using different properties (color, linetype, lineweight, plot style) in different
viewports has long been the Holy Grail of layer management in AutoCAD. Users typically worked around
this problem by duplicating geometry onto new layers and changing properties or by using some
cumbersome variation involving blocks and xrefs. Well, no more!
Using layer property overrides for color, linetype, lineweight and plot style, you can now make objects on
a layer display differently in different viewports. These layer property overrides do not affect the global
layer properties and they can be removed or temporarily disabled as needed.

How Would You Use This?


Using layer property overrides is an efficient way for displaying objects with different property settings in
individual viewports without changing their ByLayer or ByBlock properties. For example, if your drawing
has several layers that are visible in multiple viewports, you can emphasize certain layers in one viewport
by applying color, linetype or lineweight values to those layers - only in that viewport. These viewportspecific property overrides wont affect how those layers appear in any other viewport or in model space.
Because layer property overrides dont change the layers global properties, you can have objects display
differently in various viewports without having to create duplicate geometry or use xrefs that have different
layer settings. Below is very simplistic example of this feature in action.
The left viewport is displaying the first floor walls of a building using the global color red. The right
viewport is displaying the second floor walls using the global color blue and, for context, also displaying
the first floor walls but using a viewport override color. In each viewport, the first floor walls are the
same geometry on the same layer.

Assigning Layer Property Overrides to a Viewport


The primary method for assigning a property override to a layer for a specific viewport is using the Layer
Properties Manager and you do it the same way you have always assigned layer properties. When the
Layer Properties Manager is opened from a layout viewport, four additional columns appear that do not
appear when youre in model space:

Look What They Did to Layers in AutoCAD

Initially, the color, linetype, lineweight and plot style properties in these columns will be the same as the
equivalent global properties. For example, both the Color and VP Color columns may show white as the
current value. Changing these properties is exactly the same as changing the global properties:
1. Highlight the layers you want to change
2. Pick on the property to be changed
3. Choose a new property from the dialog
The difference is that property changes made in these columns only apply to the current viewport.
Another way to assign layer property overrides is by
restoring saved layer states to a viewport. The Layer
States Manager now has an Apply properties as
viewport overrides restore option. Checking this
option before restoring a layer state causes the layer
properties being restored to be applied to the current
viewport as layer property override values.
This is an extremely quick way to set up the layer properties of a specific viewport with some confidence
that those properties wont accidentally change because of work youre doing elsewhere in the drawing.
Property overrides assigned to xref layers are not retained when the VISRETAIN system variable is
set to 0.

Identifying Layers with Property Overrides


Once you have layers whose properties are overridden in viewports, you need a quick way to find them
and be able to tell that property overrides are in use.

These layers are easily identifiable in the Layer Properties Manager when it is opened within a layout
viewport. You can see which layers have overrides using any of the following:

A background color displays for each layer name, override and corresponding global property setting.

Hovering your cursor over the name of a layer with overrides will display a tooltip containing both the
global and override property information for each property in that layer.

The Status column will display a different icon for layers with property overrides.

A new group filter named Viewport Overrides will automatically be


created in the tree view of the left pane. Selecting this will filter the layer
list to only display those layers with viewport property overrides.
The background color for the viewport overrides can be changed using
the Layer Settings dialog.

Look What They Did to Layers in AutoCAD


Outside the Layer Properties Manager, various AutoCAD UI elements have been updated help identify
layers with property overrides.

The layer combo box on both the Layers toolbar and the Layers dashboard
panel will display a background color behind layer names with property
overrides in the current viewport (this is the same background color used
inside the Layer Properties Manager). For color overrides, the override
color is displayed in the combo box instead of the global color.
The Properties toolbar will display ByLayer (VP) and a background color
for layers or objects that are assigned property overrides. Override
properties are displayed for color, linetype, and lineweight instead of global
properties.
The dashboard Object Properties panel will display a background color
behind the color, linetype, lineweight, and plot style controls. Override
properties are displayed for color, linetype, and lineweight instead of
global properties.

You can also use the new VPLAYEROVERRIDES system variable to check if the current viewport
contains layer property overrides. This is a read-only system variable that returns 1 if the current viewport
has associated layer property overrides and 2 if it does not. This is a quick way to check a viewport when
no other visual indicators are available or when you need to check it programmatically.

Removing viewport overrides


There are several options for removing layer property overrides within the Layer Properties Manager.
When you right-click on a layer with property overrides in the layer list, a context menu is displayed that
includes options for removing property overrides.
From this menu you can choose to remove:

The selected property override from the


selected layers for either the current
viewport or all viewports.

All property overrides from the selected


layers for either the selected viewport or all viewports

All property overrides from all layers in the drawing in either the current viewport or all viewports. This
works on all layers regardless of current selection in the layer list.
Another quick method is to select the borders of one or more viewports in a layout, right-click on a
border, and choose the Remove Viewport Overrides for All Layers option from the context menu.
This will remove overrides from all layers associated with the selected viewports.

Look What They Did to Layers in AutoCAD


Turning Layer Property Overrides On and Off
Occasionally you may want to temporarily disable layer overrides for viewing or plotting purposes without
making any permanent changes. Using the VPLAYEROVERRIDESMODE system variable you can
globally turn layer overrides on and off in the current drawing. This is a very quick way to toggle back and
forth between settings.
Setting VPLAYEROVERRIDESMODE to 0 causes all layers in all viewports to display using their global
properties. This is how everything would look if no viewport overrides were applied.
Setting VPLAYEROVERRIDESMODE to 1 causes all layers in all viewports to display using any assigned
layer property overrides.
Property overrides can still be assigned even when VPLAYEROVERRIDESMODE is set to 0.
All visual indications that a layer has overrides will still display even when
VPLAYEROVERRIDESMODE is set to 0. This includes background colors and the Viewport
Overrides layer filter.

Layer Property Overrides in Previous Releases


If you open an AutoCAD 2008 drawing containing layer property overrides in an earlier version of
AutoCAD, those overrides will not be visible and the layers will display using their global layer properties.
Even though you dont see the overrides, however, the settings are retained when the drawing is saved in
a previous release, and become visible again when the drawing is reopened in AutoCAD 2008.
If a viewport containing layer property overrides is deleted when the drawing is opened in a previous
release, the override settings are not retained and are not available when the drawing is opened in
AutoCAD 2008.

Look What They Did to Layers in AutoCAD

Notification of New Layers


The unexpected appearance of new layers - filled with new geometry - has long been the bane of every
CAD managers existence. Typically, it isnt until after a full set of drawings has been plotted that you
realize a handful of new layers had appeared and ruined an otherwise good plot set - a big waste of time
and money.
AutoCAD 2008 now can detect when new layers have been added to a drawing - either directly or
through attached xrefs - and notify you before its too late. These new layers are considered
unreconciled until you manually review them. Using a new group filter in the Layer Properties Manager,
you can quickly identify which layers are new and handle them accordingly. Once you have reviewed
these new layers, you can mark them as reconciled so that AutoCAD doesnt notify you about them in
the future.
You can fine-tune the timing of notifications by choosing specific commands that will trigger AutoCAD to
evaluate a drawing for new layers, e.g., every time you save the drawing. You can also control whether
you are notified of all new layers or only new layers that have been added to attached xrefs.
Thats a very, very high level view of the feature. Now, lets dig in to some details.

How Does AutoCAD Know When a Layer is New?


To detect when an unreconciled layer has been added to AutoCAD, we need to be able to compare that
layer against some known baseline. By default, new drawings in AutoCAD 2008 (or legacy drawings
opened in AutoCAD 2008) contain no reconciled layers, thus they have no baseline. The first time you
save or plot a drawing in AutoCAD 2008, a new baseline is established. This basically amounts to
marking all the layers currently in the drawing as reconciled. From that point forward, all newly added
layers are considered unreconciled and will trigger notifications.
Layer notification cant work until a drawing has been saved or plotted in AutoCAD 2008.
The layer notification feature must be enabled before a baseline can be created.
The Resave all sheets option in the Sheet Set Manager will not cause a baseline to be created.

How Do You Get Notified?


Once a trigger operation causes AutoCAD to evaluate
the current drawing and discover unreconciled layers,
the primary vehicle for alerting you to this condition is
the Unreconciled New Layers balloon.
This alert balloon will appear attached to a layer
notification icon in the status bar. You can ignore or
dismiss this alert but it will continue to appear until all
the layers in the drawing are reconciled (or you have
changed notification options).
Picking on the hyperlink in the alert balloon
will open the Layer Properties Manager so
you can evaluate your unreconciled layers.
Right-clicking on the icon in the status bar
displays a context menu offering access to
the Layer Properties Manager, Layer Settings
dialogs and related help topics.

Look What They Did to Layers in AutoCAD

When Does Notification Occur?


AutoCAD evaluates a drawing and notifies you about new layers when specific trigger operations have
occured. By default, new or legacy drawings will send notification of unreconciled layers for the following
operations:

Opening a drawing
Plotting a drawing
Attaching or reloading xrefs
Restoring a layer state

By default in new drawings, these notifications will


only happen when new layers have been detected
in attached xrefs however you can choose to be
notified about all new layers.
Layer notification does not occur during
background publish operations (such as
publishing from the Sheet Set Manager) even if
the plot alert is enabled.
You can also choose to get notification when saving
a drawing or inserting a block. All of these options
can be set using the Layer Settings dialog, This dialog
can be accessed through the Settings... button in the Layer
Properties Manager or by right-clicking on the layer
notification icon on the status bar and choosing the New
Layer Notification Settings context menu option.
Additionally, all of these settings can be controlled using the
new LAYERNOTIFY and LAYEREVAL system variables.
These system variables work together to control whether the
layer list is evaluated and when notification occurs.
The LAYEREVAL system variable controls whether or not new layer notification is enabled at all and
whether it evaluates all new layers (LAYEREVAL = 1) or only new layers in attached xrefs (LAYEREVAL =
2). LAYEREVAL is the master switch for new layer notification. Setting it to 0 effectively turns off
notification in that drawing.
The LAYERNOTIFY system variable is a bit sum value that controls when an alert displays for new,
unreconciled layers (see AutoCAD help for available options).
Both of these system variables correspond exactly to the options in the Layer Settings dialog and allow
you to control layer notification via the AutoCAD command line and automation tools such as LISP and
scripts.
Changes to LAYEREVAL and LAYERNOTIFY are saved in the current drawing. Changing these
system variables in one drawing does not change them in any other drawings nor does it change
default behavior for new drawings. If you have specific values for these system variables that you
want applied to all drawings, you should add them to your ACAD2008DOC.LSP file.
For the minimalist approach to notification, leave LAYEREVAL on (1 or 2) but set LAYERNOTIFY to
0. This combination enables checking for new layers on open and when the Layer Properties
Manager dialog is used but only displays the alert icon in the status bar. This also ensures that the
Unreconciled New Layers filter still appears in the Layer Properties Manager.
How you setup layer notification will depend on how often you want AutoCAD to alert you to new layers
and can be fine-tuned to acheive that ideal balance between time-saving safety and complete annoyance.

Look What They Did to Layers in AutoCAD


How Do You Reconcile a Layer?
After youve been notified about new layers youll need to
open up the Layer Properties Manager and review them.
Once open, youll see a new group filter in the left pane titled
Unreconciled New Layers. Picking that item filters the layer
list to display only the new layers that have been added to the
current drawing or attached xrefs.
Reconcile these layers by right-clicking the layer and picking
the Reconcile Layer option. Once a layer becomes
reconciled, it is automatically removed from the filtered list.
Once all the new layers have been reconciled, the
Unreconciled New Layers filter is removed from the tree.

The Unreconciled New Layers filter will only display when


unreconciled layers exist in the drawing and layer notification is
enabled (LAYEREVAL = 1 or 2).
If you open the Layer Properties Manager by picking on the
hyperlink in the alert balloon, the Unreconciled New Layers
filter will automatically be pre-selected for you.
Multiple layers can be reconciled at the same time.

Using Templates
At this point you may be saying, Okay, this is cool but I use the same 200 layers in all my drawings! Do I
have to reconcile them every time I start a new drawing? Not necessarily. If your drawing templates
(.dwt) contain your standard sets of layers, you can reconcile the layers in each template. New drawings
started from those templates will begin life with all layers reconciled and an established baseline. The
best part is - you dont have to manually reconcile the layers in your templates. All you have to do is
resave them.
When saving a drawing as a template (.dwt) file, you are offered the
Template Options dialog to provide additional information about the
drawing template. This dialog now includes options to save all the
layers in the drawing as unreconciled or reconciled. By default, all layers
are saved as unreconciled so that new drawings start without a
baseline.
If you choose to save the template file with all layers as reconciled, a
layer baseline is automatically created. Now, new layers added
drawings started from that template are automatically unreconciled and
new layer notification will kick in immediately.
The template file is also a good place to make any changes you want to LAYEREVAL and
LAYERNOTIFY (or the dialog equivalents in Layer Settings). If you want your default behavior for new
drawings to be that you are notified about all new layers but only when you plot, set LAYEREVAL to 2
and LAYERNOTIFY to 1 in the template and all new drawings will start with those settings.
This covers setting up defaults for new drawings. Now lets discuss how to force default layer notification
settings for all your legacy drawings.

10

Look What They Did to Layers in AutoCAD

Changing Layer Notification Settings in All Drawings


Updating your drawing templates is good but doesnt help you establish your default settings for your
legacy drawings. By default, legacy (pre-AutoCAD 2008) drawings will open with LAYEREVAL set to 1
and LAYERNOTIFY set to 15. Remember that these system variables are drawing specific and
changes to them in one drawing do not change them anywhere else.
The best way to force specific layer notification settings in all drawings is to add calls to the system
variables in your ACAD2008DOC.LSP file. This file is loaded automatically by AutoCAD every time a
drawing is opened and system variable calls made therein will be set in your drawings. For example, if
you want to be notified about all new layers but only when you save or plot a drawing, open
ACAD2008DOC.LSP in notepad (or your favorite text editor) and add the following lines:
(setvar "LAYEREVAL" 2)
(setvar "LAYERNOTIFY" 17)

Now, every time you open any drawing or create a new drawing, these settings will be applied. Even if
youve updated your template with different settings, these will take precedence. Of course, layer
notification wont even happen until those legacy drawings are saved in AutoCAD 2008 and the baseline
is created.

A Potential Snag
Depending on how you may have already used layer notification, it is possible to do the previous steps
and still get unexpected notifications. For example, you open a drawing previously saved with a
LAYERNOTIFY value set to notify on open (bit 2) and you still get a notification bubble even though
ACAD2008DOC.LSP has set LAYERNOTIFY to only notify on SAVE and PLOT.
The problem in this scenario is that the system variables are getting set after the layer notification has
already been triggered using the previous setting. It has to do with the order in which things are loaded
and executed in AutoCAD. Your settings in ACAD2008DOC.LSP are executing after the document load
reactors have already done the notification. Once you save that drawing and reopen it you'll find the
notification working as you expect.

Turning Off Layer Notification Completely!


Maybe youre a one-man shop that doesnt need notification of new layers or maybe you just like living on
the edge. If so, using the previous example of modifying the ACAD2008DOC.LSP file, you can turn off
layer notification entirely so that AutoCAD doesnt ever check for new layers and, thus, doesnt every
notify you.
The key to accomplishing this is to set the LAYEREVAL system variable to 0. LAYERNOTIFY just
determines the point at which the notification bubble is presented and even though you may set
LAYERNOTIFY to 0 (off), as long as LAYEREVAL is set to 1 or 2, AutoCAD will still be monitoring for
new layers. Setting LAYEREVAL to 0 is the best way to disable the whole feature for a drawing. You can
also access these settings through the Layer Settings dialog where un-checking "Evaluate new layers
added to drawing" is the same as setting LAYEREVAL to 0. Remember, this only turns off layer
notification for the current drawing, however, by updating your ACAD2008DOC.LSP file with the
appropriate setvar calls, you can turn it off for drawings.
The issue explained in the previous section (A Potential Snag) also applies here. If youre trying to
turn off layer notification for drawings that have been previously saved with LAYEREVAL turned on,
you may have to endure a stray alert bubble until the drawing has been opened and saved and the
new LAYEREVAL setting committed.

11

Look What They Did to Layers in AutoCAD

Layer State Manager Updates


The Layer States Manager has remained relatively unchanged since it was first introduced in AutoCAD
2000i. In AutoCAD 2008, the Layer States Manager received several changes making it a more powerful
layer management tool than ever before.

Tool Unification
Before AutoCAD 2008 there were at least three separate layer state management tools at Autodesk: the
Layer States Manager; the Express Tools LMAN; and the Architectural Desktop Snapshots tool. Each of
these tools worked completely independent of the others, saved layer state information in different
formats and had their own unique behavior.
To unify these separate features into a single, common layer management tool, LMAN and ADT
Snapshots have been replaced with the Layer States Manager and the functionality of all three tools has
been rolled up into one.
All existing LMAN layer states and ADT Snapshots are automatically converted to AutoCAD layer
states when a drawing containing them is opened in AutoCAD 2008.

Direct Access
No longer are you required to open the Layer Properties Manager
just to get at your layer states (Huzzah!).
The Layer States Manager can now be accessed directly using
either the new LAYERSTATE command, the LAS command alias
or the new Layers dashboard panel. Using the Layers dashboard
panel you can save and restore layer states or open the Layer
States Manager - directly from the dashboard.
In addition, the Layers dashboard panel monitors changes to your
layers and will let you know when they are out-of-sync with a layer
state you previously restored. When you restore a layer state, the layer state name is displayed in the
layer state combo box on the dashboard. When anything changes in your layers (new layers, change of
properties, etc.) that combo box will change to display Unsaved Layer State enabling you to quickly
know when something has changed.

Saving and Restoring Layer States


In the past, re-saving an existing layer state took up to five steps because you could only use the New
button to save. Now you can re-save an existing layer state directly using the Save button. Simply select
the layer state, pick Save and confirm that you want to overwrite it.
The Layer States Manager has also been updated to support the new viewport layer overrides feature in
AutoCAD 2008. When you save a layer state from within a viewport that contains layer property
overrides, the layer state is saved using those specific override values (layer property override values
are not saved when saving a layer state from model space). This makes it possible to take an accurate
snapshot of how your layers looked in a given viewport and restore that look to another viewport. If
you restore that layer state to model space, it will apply the viewport override properties to the layers as
global layer properties.
Using the new Apply properties as viewport overrides restore option, any layer state can be restored to
a viewport and its saved layer properties will be applied to the viewport as layer property override values.
In this case, the model space properties are left unchanged and only the viewport override properties are
affected. This works even when restoring layer states that were created in model space.

12

Look What They Did to Layers in AutoCAD


Importing Layer States
In the past, layer states could only be imported
from .LAS files created by exporting a layer state from
AutoCAD. One problem with this (apart from the extra
step to do the export) was that dependent linetypes and
plot styles didnt travel with export. Now you can import
one or more layer states directly from another
drawing file rather than only being able to import
from .LAS files.
In the Layer States Manager, pick the Import button,
change the Files of type to .dwg, .dws or .dwt and
select a file. If you pick a drawing that contains layer
states, you will be shown the Select Layer States dialog
where you can choose which layer states to import.
By default, the Check layer states to import list will pre-check all layer states whose names dont match
layer states already in the current drawing. If you choose to import a layer state with the same name as
one that already exists in the current drawing you will be given the option to overwrite the existing layer
state with the imported one.
When importing layer states directly from a drawing, all dependent linetypes and plot styles that were
saved in the layer state will also be imported from the selected drawing into the current drawing.
This new import functionality is also available using the -LAYER command:
Command: -LAYER
Enter an option[ /LWeight/MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte]: A
Enter an option [?/Save/Restore/Edit/Name/Delete/Import/EXport]: I
Enter file name to import <Lxtutor>: W:\Drawings\Demo.dwg
Enter layer state names to import or [?] <*>: Roof

At the file name prompt, enter the name of the drawing from which you want to import layer states. Then
enter the name of the layer state you want; or use the default * option to import them all; or get a list of
the available layer states with a ?.

Inserting and Xrefing Layer States


When a drawing containing layer states is inserted into another drawing, the associated layer states are
also imported into the drawing and are displayed in the Layer States Manager list. Once inserted, these
layer states become a permanent part of the host drawing - even if the original block is erased and
purged from the host. If the host drawing contains a layer state with the same name as a layer state
being inserted, the incoming layer state is ignored with the message:
Duplicate definition of layer state "my killer layer state" ignored.

When an xref containing layer states is attached to the host drawing, those layer states are also listed in
the Layer States Manager (along with layer states from any nested xrefs). Xref layer states can be
restored however they cant be edited or deleted. Xref layer states are given unique names to easily
identify and separate them from host layer states. The xref layer state name is preceded by the xref
drawings name, separated by a double underscore symbol, e.g., Site Plan__Landscaping. If the xref is
bound to the host drawing, the double underscore is replaced with the standard $0$, e.g., Site Plan$0
$Landscaping.
Xref layer states are removed from the host drawing when the xref is detached or unloaded.
To quickly hide xref layer states in the Layer States Manager, check the Dont list layer states in
xrefs option. The xref layer states are still around but wont be displayed in the list.

13

Look What They Did to Layers in AutoCAD


Managing your layer states
Saved layer states can now be edited through
the Edit Layer State dialog. Using this new
dialog you can change any property of any
layer in a saved layer state (except for the
layer name). These changes live solely in the
layer state and are independent from the
drawing layer table. You can also add layers
to a layer state and remove layers from a layer
state.
This new editing capability eliminates the
process of restoring a layer state, changing
the layers directly and then re-saving the layer
state - all to make minor changes.
Layers purged from a drawing are also
purged from the saved layer states.

Minor Tweaks
The layer states list in the Layer States Manager includes a new Same as DWG column to indicate
when the current condition of layers in the drawing matches a layer state in the list. When the Layer
States Manager dialog is opened, the layer states in the list are compared against the layers in the
drawing. If the layers exactly match a layer state, the column will display Yes otherwise No.
The Layer States Manager now displays the name of the last layer state restored in the current drawing (it
used to display the name of the last layer state restored in any drawing in the last AutoCAD session).
The Layer properties to restore options have been moved into a collapsible side panel.

Layer State LISP APIs


In AutoCAD 2008, a new set of API functions was added to allow LISP access to the most common layer
state operations. The new functions are as follows:
(layerstate-addlayers)
(layerstate-delete)
(layerstate-export)
(layerstate-getlayers)
(layerstate-has)
(layerstate-import)
(layerstate-rename)
(layerstate-restore)
(layerstate-save)

Adds/updates a series of layers to a layer state


Deletes a layer state
Exports a layer state to an .LAS file
Returns a list of the layers saved in a layer state
Checks if a layer state is present in the drawing
Imports a layer state from a specified .LAS file
Renames a layer state
Restores a layer state into the current drawing
Saves a layer state in the current drawing

Check your AutoCAD help for specific usage details.


When you save a new view in AutoCAD there is an option to save a layer snapshot with the view.
This snapshot is a standard layer state that is flagged as hidden so it wont show up in lists in the
usual places. They are typically saved with the following naming convention:
ACAD_VIEWS_viewname. These wont show in the Layer States Manager list nor will they be
listed in the -LAYER command but they can still be accessed and manipulated like any other layer
state using -LAYER or the layer state LISP functions.

14

Look What They Did to Layers in AutoCAD


Changes in Model Space and Paper Space Restoring
AutoCAD 2008 brought some fundamental changes to how layer states are
restored in model space and in paper space. These changes were
necessary to address serious problems in these areas but are a break with
previous behavior and, as such, should be explained. First, let me start with
some foundational concepts.
The on/off and freeze/thaw settings for a layer really only apply in model
space. Layers in a viewport are just visible or not visible - you see them or
you don't. Whether a given layer is visible in a viewport is ultimately
controlled by its VPFREEZE setting in that viewport and the global visibility
settings (on/off and freeze/thaw) in model space. This is an important
concept to understand.
When youre in paper space, the On/Off and Freeze/Thaw restore options
in the Layer States Manager are disabled because they only affect model
space visibility and we are not manipulating those settings unless necessary
to give the expected results in a viewport. This is why we changed one of
the layer state property restore options from Current VP Frozen/Thawed to
Visibility in Current VP and that option is only enabled when you are in a
viewport. Whether a layer state restores the visibility of the layer in a
viewport is now controlled by the "Visibility in Current VP" option.
So, restoring a layer state to a viewport works like this:

If a layer is already on and thawed in model space and should be visible in the viewport, we
VPTHAW it in the viewport and make no change to model space visibility.

If a layer should not be visible in the viewport, we simply VPFREEZE it in that viewport and make
no changes to model space visibility.

If a layer is off and/or frozen in model space and should be visible in the viewport, we VPTHAW it
in the viewport and then make whatever model space changes are necessary (on and/or thaw) so it
will be visible in the viewport.

We've now made a distinction between restoring in paper space and restoring in model space and we
treat them like the two different environments they are. This change was necessary to fix a legacy
problem with restoring layer states in paper space.
Before AutoCAD 2008, if you had a layout with multiple viewports and you needed to restore a different
layer state in each viewport, you ran a very high risk that every subsequent layer state restore, after the
first one, would affect the look of the viewports restored before it. This happened because the model
space on/off and freeze/thaw settings were automatically being restored while in paper space viewports.
Since those settings are global visibility changes, you would have layers that were previously visible in
viewport 1 being globally turned off by the restore to viewport 3. Very frustrating! Now, when restoring a
layer state in a viewport, we do not manipulate the model space on/off and freeze/thaw layer settings
unless it is necessary to make a layer visible in the viewport. This avoids the problem encountered when
restoring multiple layer states to multiple viewports.
So I said all that to say this ...
If you rely on the way that model space visibility changes affect the look of your layout as a byproduct of
restoring a layer state - you will not see this behavior anymore. You may expect to restore a layer state to
a viewport and have the global visibility settings determine the look of the layout (CVPORT = 1) but since
we no longer manipulate model space settings when restoring to paper space (unless necessary), this will
no longer happen.

15

Look What They Did to Layers in AutoCAD

Layer Properties Manager Updates


By now youve seen many of the new changes to the Layer Properties Manager dialog including the new
group filters, Layer Settings dialog and support for layer property viewport overrides. Here are a couple
more you might have missed.

New Layer VP Frozen in All Viewports


In the past, you could create a new layer and then
mark it as frozen in new viewports using the New
VP Freeze layer property. This meant that the
layer would not be visible when you created any new viewports in the future. Unfortunately, this didnt
stop the layer from showing up in all your existing viewports so you might have had to revisit each
existing viewport individually and set the VP Freeze layer property to keep it from displaying.
In AutoCAD 2008, there is a New Layer VP Frozen in All Viewports button. It is similar to the standard
New Layer button except picking this button creates a new layer and automatically freezes that new layer
in all existing layout viewports. Now you can create a new layer without worrying about how that layer
may have changed the look of your existing viewports.

Customizable Columns
The order and visibility of columns in your layer
list is now completely in your control.
Right-click on any column header in the layer list
to display a new context menu (see left image).
From this menu you can: toggle the visibility of
columns by checking or un-checking a column
name; quickly maximize columns so they display
all property information; or reset everything back
to factory defaults.
Picking the Customize option in the menu
opens the Customize Layer Columns dialog
(see right image). Using this dialog you can
show or hide any of the columns (except Name)
or reorder the columns using the Move Up and
Move Down buttons.
You can drag a column to another location right in the Layer Properties Manager layer list. Just leftclick your mouse on a column header, drag it to a new spot and release.
Column settings (like width, order and visibility) are unique to the drawing space in which they were
set. Column settings applied in model space are separate from column settings applied in paper
space. This allows you to create a different working environment for the Layer Properties Manager
depending on which space you are in.

16

You might also like