One (relatively) simple way to fix the issues people seem to be having - When you insert a block, have an option for nesting all of it’s component layers as sub-layers in the new model (for example, if you insert Block X, have rhino put all of the layers for Block X in the layer tree as sublayers to a new layer titled “Block X Subcomponents”). For those that organize their block layers, they can leave that option off and use the current system.
But for people without a lot of blocks, or just getting started, this would greatly simplify the UI and leave them with a clear understanding of why they can’t delete those layers without deleting the block that creates/depends on them.
Pascal, I may have fixed the above mentioned issue yesterday when I fixed this YT issue https://mcneel.myjetbrains.com/youtrack/issue/RH-54300
The fix went into 6.x so users will start seeing it in next week’s V7 WIP and in the SR 19 release candidate that will become available in a few weeks after that.
I general feelings are still that ever since 64-Bit, people will want to make larger projects in Rhino–and not export them to some other program.
I suspect that, in the past most people who have used Rhino have made small uncomplicated projects from sophisticated shapes…
…Grasshopper changed that.
I am only a guest here. It’s your company. You set your own goals, but please reconsider giving a little attention to what may not be the sexiest part of Rhino, but the part that will allow user to develop their projects to completion.
Blocks can solve problems with computer resources.
The only way I got around this was to create all blocks on the Default layer, and then move the instances to their perspective layers. Though, using this workaround can make a mess, such as if you need to explode a block for reworking, as it must be moved to it’s own work layer before exploding, then moved back to be made into a block again. I also hide everything else while I do this kind of exploding. Save incrementally, often.
[Exploding things such as the 500+ fasteners instances I needed to explode because of material changes.]
The current block metaphor is akin to programming with private objects that cannot access from Main–unless it’s Thursday.
Yes you can. A block is both an instance that can be on any layer, and the objects it contains that can be on other layers. So moving a block to another layer does NOT move the content of the block to this layer
@eobet, @Holo already answered it, but I’d like to add: a block is like an invisible container, yet it has to reside on a layer. The advantage is that you can both hide block instances (with its contents) as well as hide contents (without hiding the block instance, which is invisible, but could contain objects you want to keep visible)
Suppose the following scenario: you want to have a block of a wheel with tire and bolts, so you make a layer wheel_block, activate this layer and create a block (instance) of a wheel, a tire and 5 bolts, where these items reside on respectively wheel, tire and bolt layer.
Furthermore you create another block, car that also makes use of the same bolts, this time creating the block on car_block layer, adding items from layers body, and bolt.
Hiding the bolt layer will hide all bolts in all instances. Hiding the wheel_block will hide bolts only used in wheel block instances.
Ok, but I’m afraid neither of you actually answered my question.
How do I move the block instance I selected in the viewport to the layer I want? Like, actual mouse click instructions, please, because I seriously can’t figure it out.
same as any other object or group: if you select it, you can either right click on a layer and move it to that layer or use the property rollout to see/change on which layer it is/needs to be
It actually behaves differently in this export, because when I try to move it in the above file, it ends up on both layers (a phenomenon that has been mentioned before), but in my original working file, it just refuses to move at all.
Here it works normally as I described. You can hide the block by hiding Hull layer, or by hiding the Detail Parts layer. Moving the block to a new layer (Layer 01) will make it that the part can be hidden by hiding the Detail Parts layer or Layer 01. Does it work differently at your side?
Quick answer: you can’t. There is no mechanism in the Rhino tools for selecting a block definition and moving it to another layer. Only block instances.
Considered answer: move everything other than the block definition to another layer and rename the layers to swap their meanings. Not helpful if you have more than one definition and want to separate them though