Block layer can't be changed

Not sure if it is on the Mac side, but you might see if BlockEdit exists, it lets you edit your block in place without having to explode and reblock.

As a side note, once you create a block and start inserting it, all of those instances are the same level of blocky-ness. There is no primary or secondary. The only difference in your example is what layer it was inserted on. Your first block that you created then deleted was on the Door layer; when you make a block, it ends up being inserted on the current layer. You could have also selected the first block you made and changed its layer to say 1st floor, and it would have behaved like all the other 1st floor door blocks.

Sam

It doesn’t… yet.

–Mitch

1 Like

This is all true and I understand what you mean in terms of all blocks sharing the same blocky-ness. The issue that I am having (and that perhaps I am still not able to properly explain), is that when you create a block on one layer, and then insert another instance on a different layer, the VISIBILITY of that new instance is controlled still by the original layer (as well as the new layer – toggling either layer’s visibility will show and hide the block). Even if you only have ONE block instance (the original) and you change its layer in the object properties panel, say from “default” to “layer 1”, its visibility is then effected by BOTH the “default” layer and “layer 1”.

This comes right back to the original title of this thread: “Block layer can’t be changed”!!! And its true as far as I can tell.

David

No.
You have to start to differentiate between the definition and the instance. One layer controls the one; the other layer the other.

That is correct. When you create the block, the original objects are destroyed, but the block DEFINITION retains ALL the characteristics of those objects - layer, color, material, linetype, whatever, plus of course the description of the geometry. The block DEFINITION can have multiple objects; each object carries with it its original characteristics. A block DEFINITION can be thought of as a cooking recipe for recreating the objects, but it is not the objects themselves - you do not eat the paper the recipe is written on.

An INSTANCE of a block definition can be thought of as a COPY of the recipe that you can put anywhere. The recipe also includes a picture of the cooked dish, which is what you see on the screen. Do not confuse the picture with the cooked dish, you cannot eat the picture either.
(Ceci n’est pas une pipe… --Magritte)

You can make as many copies of the INSTANCE as you want and put them anywhere. The copies can (must) reside on a layer. So, you end up with a situation which is rather hard to wrap your head around: The original parts of the DEFINITION each have a layer associated with them, but so does the INSTANCE, and they can be different.

If you turn off one of the layers associated with one of the objects making up the DEFINITION, it will turn off all of those objects in all the INSTANCES. It’s like having hidden one of the original ingredients of the recipe, it gets hidden in all the copies.

If you turn off the layer containing the INSTANCE, it turns off all of the INSTANCES on that layer. Other INSTANCES of the same DEFINITION on other layers will stay visible.

This is actually a benefit in disguise. Say you have a block DEFINITION of a door, the door is composed of a panel, a handle, some hinges and a frame. Each individual object was on a different layer named panel, handle, etc. Now you place INSTANCES on a bunch of different layers which represent different locations of all the same model doors in the building.

If you turn off the “handle” layer, all the handles in all the instances turn off no matter where they are.
OTOH, if you turn off the layer “2nd Floor-doors” only the doors on the second floor turn off.

In addition to just copying the INSTANCES, you can also scale and orient each one differently (as John pointed out). But the relation to the original DEFINITION is retained, so if you modify the original definition by modifying an object, even the scaled/rotated INSTANCES update correctly.

In Windows, you can edit a block definition - even though the original objects don’t actually exist anymore - semi-directly with the Command BlockEdit; on Mac currently, this function is not available, so you have to actually re-create the block as outlined in the procedure in the linked post above.

Don’t know if this explanation helps, best I can do for now…

(Edited to add some info)
–Mitch

1 Like

I think I get it. The definition will always be on the layer on which the block was created (or, more accurately, the objects that make up the definition remain on the their current layer). Instances on new layers are references to or aliases of those same objects (still on their original layer). Therefore, when turning off a layer containing a DEFINITION (ether the whole or part of a definition), all instances of that definition on other layers will also turn off.

Mitch, your explanation was helpful, thank you. I agree that this is a benefit in disguise (as long as you understand it!).

Thank you all for your help.

That will work.
Maybe this will help.
You seem to have a good handle on the block definition and it’s layers, visibility, etc.

An instance of a block is an invisible reference made on the current layer, that tells Rhino to display a copy of the block definition objects at the reference point location, and to transform the objects (scale, rotation, etc.) by specific settings held in the instance.

FWIW, the “Point” osnap, will latch onto the block instance base point location.

So, you can’t put the same block on different layers?

@Yang_Cao
Your question is too incomplete to answer directly.

Please go back and read @Helvetosau and @David_Erickson’s most recent posts in this message thread…
They contain the complete details you seem to not yet grasp.

A block DEFINITION is unique. You cannot have more than one with the same name. The objects in a block DEFINITION can reside on different layers as outlined above.

A block INSTANCE is a copy of the definition (perhaps transformed) and can be put on any layer you want - you can have multiple copies on the same layer or on different ones… Each unique INSTANCE can reside only on one layer (like any other object in Rhino).

–Mitch

hi. I would like to know how to use blocks with exploded drawings.

If I am doing layouts and am doing explosion drawings, I would normally go in and manually explode the assembly

but how can I achieve this with blocks ? so if I have to make a change to the main model all the “drawing instances” I create for explosions, sections, etc will update ??

much thanks

d

Sorry I forgot to mention the issue – which is that all the blocks will explode.

I basically want to be able to have all of these instances of the SAME model for different drawings:

  1. explosions (full, partial, random)
  2. sections (all sorts)

be able to work with ONE model that can essentially be ONE BLOCK or many blocks, it really depends… and make copies of it and do what I need to do with it for LAYOUTS and any changes I need to make – I can do on the MAIN model which will auto update all the “layout models” without exploding .

Is this possible?