Layer reconciliation. Post 13 in series “AutoCAD Cleanup”

New in AutoCAD 2008 and AutoCAD 2009

in AutoCAD 2008 and 2009 you may have seen the following warning

layers-recon1

These messages are produced by layer reconciliation feature.

If layer reconciliation is enabled, when you first open any file in Autocad 2008-2009, the layer baseline list is created in the file. Next time you open the same file, AutoCAD compares the current layer list with the baseline saved in the drawing and if any “new” layers are found it marks them “unreconciled” and groups them into special filter. You can the select the unreconciled ayers and right click to reconcile them(approve). This feature can be very useful in a collaborative environment with extensive usage of XREFs. But like anything new, it takes time to get used to.

Let’s take a look at the settings (variables) which control the behavior of the layer reconciliation

LAYEREVALControls when the Unreconciled New Layer filter list in the Layer Properties Manager is created/evaluated for new layers.
 Type: Integer
 Saved in: Drawing
 Initial value: 1 for 2008 and 0 for 2009
 When LAYEREVAL is set to 1 or 2, layer baseline is created. When LAYEREVAL is set to 0, the Unreconciled New Layer filter is hidden and new layers are not evaluated.
 LAYERNOTIFY Specifies when an alert displays for new layers that have not yet been reconciled.
 Type: Bitcode. To calculate the value of bitcode variable, add all desired options.
 Saved in: Drawing
 Initial value: 15 for 2008 and 0 for 2009

If the LAYEREVAL ≠ 0 and value of LAYERNOTIFY is odd, you will also get the following dialog box that will require you to click Yes or No every time you plot or add a drawing to Publish. It can disrupt your plotting/ publishing workflow.

layers-recon2

2009 has an additional variable:

LAYEREVALCTL Controls the overall unreconciled new layer filter list in the Layer Properties Manager which is evaluated for new layers.This system variable also affects whether the new layer notification is displayed or not.
 Type: Binary
 Saved in: registry
 Initial value: 1
0 Disables the evaluation and notification of new layers
 1 Enables the evaluation of new layers on LAYEREVAL settings in DWG file
 Note: LAYEREVALCTL overrides the LAYEREVAL and LAYERNOTIFY setvars when LAYEREVALCTL = 0. It acts like a global off (but not a global on). There is no effect even if LAYEREVALCTL is turned on if LAYERNOTIFY = 0 or LAYEREVAL = 0. LAYEREVALCTL must be set to 1 for LAYERNOTIFY and LAYEREVAL to function correctly.

Note: Initial setting for both LAYEREVAL and LAYERNOTIFY is different for 2008 and 2009, thus users which skipped 2008 did not experience problems with layer reconciliation.

Following table illustrates the differences between 2008 and 2009 and where to set these variables in graphic interface.

2008

2009

laymng 

 

 

 

 

 

 

 

 

laymng2009 

 

 

 

 

 

 

 

 

layereval2008 

 

 

 

 

 

 

 

 

layereval2009 

 

 

 

 

 

 

 

 

 

Solutions for 2008:

1. Use templates with desired settings for these variables when creating new files
2. Run script to re-set the variables in existing files.

LAYEREVAL 0
 QSAVE
 blank line

3. If planning to use the feature, reconcile layers once manually or by calling lisp or VBA program from the script

Solutions for 2009

1.Set LAYEREVALCTL=0. It is saved in the registry, so you will not need to go to every file and set LAYEREVAL 0
2. New option in –LAYER command
Run script to reconcile all layers. This will update the baseline. New layers will be evaluated

-LAYER E *
 blank line
  blank line
 QSAVE
 blank line