You’ve certainly heard the principle that you should use layers to give objects properties. When you create a layer, you give that layer a
- Color
- Linetype
- Lineweight
- Transparancy
- Plotstyle
Also, for 3D drawings, you can apply a material to a layer with the MATERIALATTACH layer.
But it is all too easy to make an exception for an object and change it so that a property is not according to its layer. For example, you can select an object, and choose any color for it by going to the Home tab, Properties panel, Object Color drop-down list.
When you decide that this is a mistake (made by someone else, of course), you can easily return objects to the properties assigned by their layer with the SETBYLAYER command.
Here are the prompts:
Command: SETBYLAYER
Current active settings: Color Linetype Lineweight Transparency Material
Select objects or [Settings]: 1 found
Select objects or [Settings]:
Change ByBlock to ByLayer? [Yes/No] <Yes>: Y
Include blocks? [Yes/No] <Yes>:
1 object modified.
I must admit that this command has more prompts than I would like. You might want to create a custom command that automates the block-related prompts for you.
If you choose the Settings option, you get this dialog box.
Note: The Plot Style option is available only if you are using named plot styles.
In this dialog box, you can specify which of the properties you want to include when you set an object’s properties to its layer properties.
Do you use this command? Do you have a way of streamlining it? Leave a comment to share with others!
- Combine or subtract 2D shapes to create custom shapes - February 17, 2022
- Working with linetype scales - January 18, 2022
- Rename named objects–blocks, dimension styles, layers, and more - December 21, 2021
We have a .NET application that runs in the background checking for whenever the active layer is changed, when the active layer is changed all the active settings (color, weight, type, etc) are automatically set back to ByLayer.
[…] I have a tip that goes into the SETBYLAYER options more in detail–”Maintain standards by returning objects to ByLayer settings.” […]
What about Blocks? to set all of them to layer 0? is there a way for it?
thanks for the tip
Open Properies box
Pick Select Objects icon (the middle one of the 3 across the top)
Type All
Hit Return.
The top drop down bar has now changed from xxx to All(number)
Click on the drop down, Select Block Reference (smaller number)
Now, under the General heading, change layer to zero.
replace “xxx” with “no selection”
To set the ‘guts’ of a block to layer ‘0’ pick a block, right click on it, and pick ‘Set Nested objects to ByBlock’. This moves everything in the block to layer 0 and sets it all to color byblock. This allows the block to correctly assume the color of the layer it is placed on and allows the flexibility to set the color of the block independently if necessary. I usually pick one block and do this, then put a window around the drawing, right click, pick recent input from the list and pick setnestedobjectstobyblock. It fixes the blocks and ignores the other objects without having to deal with filters or selection sets.
When using the SetByLayer command do not change byblock to bylayer. Byblock is the correct color for the ‘guts’ of a block. (But nothing outside a block should be this color.)
The blocks themselves should be on an appropriate layer and not layer 0 as that layer has special properties that can create problems. For instance, items drawn on layer 0 can have control problems when that drawings is X’ref’d in to another drawing.