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)

No comments: