Issue:
You receive an AutoCAD drawing from another user and need to change block objects to another color for printing.
But placing all those blocks on a different layer or changing the block color in the Properties palette doesn’t change the block object colors.
For example in this file all the computer blocks should take on the green color of layer 'Computer' or the color assigned in Properties but remain yellow:
Causes:
Block objects were created with a specific color instead of ByLayer or ByBlock.
Block objects created with a specific color will always retain that color. Placing them on a different layer or changing their color won’t change the block color.
For example, in this drawing block objects were created with the Color=Yellow instead of ByLayer/ByBlock.
In the Block Editor the objects properties confirm they're all set to Yellow:
How Block objects inherit layer color properties: Block Object Properties Reference.
Solution:
If you don't have many blocks to update use the Block Editor.
Change all the block objects to Color=By Layer and place on Layer=0 in the Properties palette.
When there are a lot of blocks to update you can update them all using the SETBYLAYER command.
Change blocks object to Color=ByLayer
Use the SETBYLAYER AutoCAD command to quickly change block object properties to Color=ByLayer.
Type in Setbylayer at the command prompt:
Or on the Home Ribbon on the Modify tab:
Select the Settings option to verify that Color (and if needed Linetype, Lineweight, Material, Plot Style and Transparency) is selected.
By default ALL these options are selected. Or use the SETBYLAYERMODE variable.
If you don’t have many blocks select each block manually in the graphics window to add them to the selection set:
If there are many blocks in the drawing use the QSELECT command before invoking SETBYLAYER.
Choose the qselect icon in the Properties Palette or type in the QSELECT command.
In the Quick Select dialog box select these options to select ALL the drawing blocks:
- Object type: INSERT
- Operator: Select All
​
Once the blocks are selected, type in SETBYLAYER and click Enter.
Choose Yes to change Color(and other properties) to ByLayer:
All the blocks are now updated to the layer color:
Place block objects on Layer 0
If the block objects also need to be placed on Layer 0 use the Block Editor to change the block object properties:
Select all the block objects and change the layer properties to Layer 0:
About the Author
More Content by Joanna Gryszka