Showing posts with label Layer Key Override. Show all posts
Showing posts with label Layer Key Override. Show all posts

March 30, 2012

ACA 2013: Object Display Enhancements Part 1

AutoCAD® Architecture 2013 adds a number of new features to the Display System.

Layer Keys for Display Components
An often wished for feature is now in the program: it is now possible to assign a Layer Key or Layer Overrides to a component of an object, instead of just hard-coding the layer name in the style. If you have ever wanted to have layer control over one or more individual components of an object, but did not want to have the hassle of setting and maintaining those layer names in each style, you can now add Layer Keys or Layer Overrides to a style to have components placed on a particular layer via layer keying.

In general, I find using the display system to control the visibility and appearance of most components of AEC objects to be quite adequate and would just as soon avoid throwing layers into the mix. But there are a few items where it would be nice to be able to control the visibility of a component with a simple Layer Freeze/Thaw, rather than going through the hassle of adding new Display Representations, Display Sets and Display Configurations. For example, we use a zero-width component to display a line that indicates the fire-resistance rating of a Wall, and its display is controled by the assigned Material Definition. There have been projects where, for certain drawings, I wanted to turn off this component, as it was interfering with other graphics. Being able to do so by freezing a layer would be much easier than setting up another Display Representation for materials, editing that for all of the materials in the drawing and then setting up a Display Set and Configuration to use the new Display Representation. Hard-coding a layer name in a Display Representation has always bothered me, as it means future edits if the content needs to be used with a different layer standard. The new Layer Key/Override feature allows source content to be set up that will generate layers based on the current Layer Key Style and avoid having a hard-coded layer name in the Display Representation.

There are a few nuances that you need to master in order to be able to use the new feature. The most important is that your source file (where you store and edit the display settings) cannot have any objects of the type to which you want to add a Layer Key or Layer Override in the file. For Drawing Default settings, this will likely be your template file, so that should not be a major problem. For Style Override settings, you will have to delete any instances of objects of the style being edited prior to being able to edit the override settings, and you will not be able to add any instances afterwards, as that will cause the layer to be resolved and defeat the puropose of using a Layer Key. The Layer Key and Layer Overrides are not available at the Object Display Override level, because, by definition, you have to have an object in the drawing in order to apply the override. This feature does not make much sense as an individual object override, anyway. You cannot access this feature on the Display tab of the Properties palette; you have to edit the settings in a dialog, through Display Manager (Drawing Default settings only) or through Style Manager.

Before starting, make certain that the current Layer Key Style in the source file drawing or template has all of the Layer Keys you wish to assign. If you are going to use custom Layer Keys, be certain that you update the Layer Key Style in your Layer source file with the custom keys, and, if you are not set up to automatically import the Layer Key Style from your Layer source file, in your template files.
In the composite image above, the Swing Component has had the custom DOORSWING Layer Key added by clicking in the blank area in the Layer Key column on the Swing line, and choosing the DOORSWING Layer Key in the Select Layer Key dialog. Once a Layer Key is assigned, the value in the Layer column for that component is cleared, and will remain that way until an object is placed in the file. As previously mentioned, you want it to stay that way in your source file(s), so that the resolution takes place in the target file.

In order to make use of the Layer Overrides, you must first set a Layer Key. If you want to assign a component to a layer, but do not want to create a custom Layer Key, you can use Layer Overrides. Keep in mind that if the resultant layer does not already exist in the drawing, it will be generated based on the attributes of the assigned Layer Key, so choose the Layer Key accordingly, or be prepared to adjust the layer properties after the fact. In the composite image above, the Frame component has the DOOR Layer Key assigned, and then, by clicking on the icon in the Layer Overrides column on the Frame line, a Minor 1 field override of "Fram" was set in the Select Layer Overrides dialog.

Do not forget to change the component attributes from BYBLOCK to BYLAYER for any components to which you assign a Layer Key, unless you only want them on a separate layer and want them to display with the attributes of the main object.

If you make Drawing Default level changes in your template file and then start a new drawing with that template, the Layer Key and, if specified, Layer Override will be resolved when the first object of that type is added to the new drawing. If the resultant layer does not already exist in the drawing file, the layer attributes specified in the current Layer Key Style (as modified by any Layer Overrides set) will be used to generate the layer. If the layer does already exist, the layer will be left as is, just like any other use of a Layer Key. At that time, the Layer Key and Layer Overrides columns will be locked and the resolved layer name will be shown in the Layer column. You can then edit the Display Representation and change the layer name if you so choose - the Layer Key and Layer Overrides are inactive from that point forward, even though the Layer Key name will remain displayed. The same holds true when adding an object that has a Style-level display override in the source file that includes a Layer Key or Layer Key and Layer Override.

There is a way, however, to impose a Layer Key/Override on a file that already has objects within it. When set at the Drawing Default level, with the file open, open the Display Manager (on the Manage ribbon tab, on the Style & Display panel, select the Display Manager tool). In the Display Manager, open a source file that has the unresolved Display Representation in it (such as your template file). Use the Display Manager to copy the Display Representation from the source file to your current file and choose Overwrite Existing.
Select OK to register the change, close the Display Manager and return to the drawing. You will not notice any immediate change, but the Layer Key/Override from the source file has been copied into this file. In order to get this to resolve, you need to execute the "add" command for the object type affected by the Display Representation. For example, start the DOORADD command if you have copied a Door Display Representation. Doing so, even if you cancel before placing an object, will cause the Layer Key/Override to be applied, affecting all existing objects in the file as well.

If you have a drawing with objects of the same style name, but without the Layer Key/Override set (or with it set, but resolved to a previous Layer Key Style), you can use the Style Manager to overwrite the style from a source file with an unresolved Style-level Layer Key/Layer Override. If you have a Tool palette tool referencing the style from such a source file, you can also right click the tool and choose "Re-import..." from the context menu. The only difference here is when you start the "add" command to trigger the resolution of Layer Key/Override, if redefined style is not the current default style, you will have to change to that style on the Design tab of the Properties palette to get the change to take effect.

In all of the above cases, keep in mind that you will not see the effects of the Layer Key/Override if the Display Representation that has the Layer Key/Override set is not active in the currently active Display Set. The change will take place, but until you change the Display Configuration/view direction to a combination that makes the Display Representation that has the Layer Key/Override applied, you will not see it.

Next Article in the Series (ACA 2013: Object Display Enhancements Part 2)

August 31, 2008

AutoCAD® Architecture 2009 Layer Properties Manager Alert

In developing my future post on Layer Standards, I have noticed that in the 2009 release, any changes made to the Layer Standard, Layer Key Styles or Layer Key Overrides when accessed through the Layer Properties Manager (the ClassicLayer, modal dialog, not the non-modal palette version, which does not have access to the ACD-A layer features) will NOT be saved if these are the only changes being made during that session of the Layer Properties Manager. While less critical for Layer Key Styles and Layer Key Overrides, since these can be accessed outside of the Layer Properties Manager, this is quite serious for Layer Standard changes (imports from other files, creation of new Layer Standards or edits to existing Layer Standards), since the only way to do these is through the Layer Properties Manager.

Fortunately, there is a workaround for this: after completing your Layer Standard, Layer Key Style or Layer Key Override changes from the Layer Properties Manager, before selecting OK, do something directly within the Layer Properties Manager that will result in the Apply button becoming active. My personal favorite is to select the New Layer button, and simply add the default layer (Layer1 if it does not already exist). If you like, you can immediately delete this newly added layer, and then select the OK button.

From what I can tell, it appears that changes made to Layer Standards, Layer Key Styles and Layer Key Overrides from the Layer Properties Manager are being held in a "pending queue" without being applied to the drawing (in memory) when selecting OK in the dialog(s) launched from the Layer Properties Manager toolbar buttons. This would allow for possible remorse while the Layer Properties Manager is still active - I have no problem with those changes being discarded if I select the Cancel button in the Layer Properties Manager. Unfortunately, unlike previous versions, the 2009 Layer Properties Manager dialog starts out with the Apply button disabled, and not only does it not become enabled when a change is made to a Layer Standard, Layer Key Style or Layer Key Override through the Layer Properties Manager, these pending changes also do not appear to trigger the need for acceptance should the OK button be selected. Making a change in the Layer Properties Manager itself does activate the Apply button and also sets something that activates all pending changes when either the Apply or OK buttons are used.

While this should not be necessary, until it is fixed, creating and deleting a bogus layer is a relatively small act to preserve what could be many minutes (hours?) of editing a Layer Key Style or adding descriptions to a Layer Standard.