Can't change AutoCAD block objects to another color

April 15, 2022 Joanna Gryszka

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.

Placing the block on a different layer or changing its color won’t change the block color because block objects created with a specific color won’t change color.

Block objects won’t inherit the current layer color properties: Block Object Properties Reference.

In this drawing the block objects were created with the Color=Yellow instead of ByLayer/ByBlock and will remain yellow.  In the Block Editor the objects properties show they're all yellow:

Solution:

Change all the block object properties to Color=By Layer and if needed place all the objects on Layer=0.

If you don't have many blocks to update you can use the Block Editor and change all the block objects to the Color=By Layer 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

​