Inserting the same file twice as block - layer as ref ignored

There are times we want to insert the same file twice as a block.
Suppose the file represents a door with the first block definition having the door itself hidden while the second definition having the frame hidden, so we can have multiple doors that are hinged slightly opened in the building at various degrees.

The problem is after inserting the second definition:
a) The name cannot be edited (or the edit doesn’t stick)
b) The layer-by-reference option is not being obeyed.

Hi Thomas - I see this, thanks.
@ThomasAn - from what I gather from the developers, we do not really support this currently - the fact that you can get partway there is probably a bug in itself. It may be possible in the future, but I guess at the moment it is not something you can rely on.


Interesting … thanks for checking on it.

Now, do you have a recommendation or workaround ? Say we have a building and we import 50 doors as a block definition but we want the doors to hinge open relative to the frame. We also have about 100 windows some sliding and some hinged. Some doors are double doors.

Do you think it’s elegant to keep the door frame in separate file to the door itself ? We also have two pane windows, three pane windows with a top air vent, sliding doors, double doors etc etc … we also have cars but we want the front wheels to turn when we import them into a parking lot full of cars, etc

How do others solve this problem ?

Is this still the case in Rhino 8 ?

Hi Thomas,

At some point in the recent past when reading a thread about block functionality in rhino, I came across this plug in.

I haven’t tried it myself, and I don’t mean to advertise this… it’s not free… but from looking over it, it seems quite powerful and if there is a commercial use case for you maybe worth a look.


Thanks, although it seems too complex and expensive of a workaround for such a rudimentary request. Not sure how programmatically complex would be for McNeel, but the concept is trivial: let a block be re-inserted with a new name so we can turn layers of the two block definitions on-off independently from each other.

For example:
Just yesterday, the same problem came up ( @pascal ) while making a bicycle chain. A chain link is already a basic component. We shouldn’t have to break that Rhino file into smaller pieces and yet I am forced to create the chain-link file and then create a new empty Rhino file as a wrapper to insert the original as a block, hide half of the link layers and then insert THAT wrapper as a second block in the target.

So the target file has the chain-link file inserted as a block and the wrapper file also inserted as a block, just to get a chain going around a sprocket (so the blue outer plates can pivot).

Hi Thomas - see if this works, to trick Rhino:

Insert the external file, with reference layers.
Make a box and Block the box.
In BlockManager, select the box block and set it as linked, and then go find the same external file and link to that - you should have two sets of layers.


1 Like

That works. Internalizes the step instead of me creating the extra empty Rhino file. It also works by blocking the block itself (without making a box).

Thanks for the fresh eyes on this.