Layer visibility in Detail, Still Painful

Dear rhino developers,
Please allow Layers in detail to be on while model layers are off. This really is the main dealbreaker for being able to do documentation in rhino. While modeling, one constantly changes layer visibility. It should be possible to go to a layout and print, without having to do a complete layer check every time.
@brian @dale @John_Brock @mary @pascal @wim @BrianJ

Sorry if I’m starting a new topic out of the many existing. I just think this is critical, and long threads tend to get diluted or go off-topic.

@Andrew @jespizua @senorvalenz @david25 @egdivad @Eugen @PeterB @technotrope


I totally agree with you @guido ! Can the one responsible please do something about this.

+1 from me

A Workaround could be a “Layout file” with the attached “Model drawing”. This file would be only for printing and annoations.

I’ve added this thread to open item RH-19685.

1 Like

+every Rhino user in my office

Would be great if Rhino can have the same (or similar) layer functions as AutoCAD:

  • Hidden in new details
  • layer setting per details are PERSERVED! on next open

With a detail active, right-click on a layer in the Layers panel and pick Layer On in this Detail only. Does this help?

This is already the case. If your finding otherwise, please provide us a way to repeat.

– Dale

Please McNeel, take this seriously! We are wasting so much time in our architectural office because of exactly this one bug.
There are numerous other issues regarding layouts, but THIS is the most pressing one.

No, this does not help! You do understand what the problem is, don’t you.

The moment you cange layer visibility in model space (which you need to do when modelling), you change it as well in all Details! This is NOT good!!!

The layer settings in the Detail are remembered, yes, but since the master layer toggles have changed during modelling, you need to tediously ‘restore’ layer visibility in Layouts/Details before print.
It not as simple as just turning on all master layers, because there might be layers that should remain turned off everywhere, even in model space.
Also, using Layer States is not a good solution because there’s too much concentrated hassle involved in doing so.

Possible solution 1 (that I can think of):
In MODEL SPACE, add a SECOND COLUMN of LIGHTBULBS - the second column would toggle layers in model space ONLY. The first column would toggle everywhere, just like it is now - this can be desirable also!
All commands related to layer visibility would have to be adapted (OneLayerOn etc.), so that they either work for the first or second column of layer toggles.
It would be quite logical that way - every Layout, Detail and also then the Model space would have their own dedicated layer toggle lightbulb - plus one master toggle that affects everything.

Possible solution 2:
Every Detail gets a new property called something like ‘Override Model Space Layer Visibility’, which does exactly this. If this is on, the Detail layer toggles will be unaffected by the model space layer toggles.

So, if you dropped what you were doing and tended to THIS issue, you will hear the cheers of your users across the atlantic! =}

Thank you 1000 times!

In fact, AutoCAD has the same problem (I checked): turn off a layer in model space, and it’s turned off in paper space also. Not so much better.
Regarding this, ACAD and Rhino are very similar.

1 Like

Please don’t derail the discussion, Eugen.
We understand the feature request of decoupling layer visibility in model space and paper space. That’s not what Dale’s question was about. His question was specifically about:

… which has nothing to do with decoupling of layer visibility.
That said, you are welcome to provide your feedback on that feature.

I re-read what guido said:

… and I think he actually means exactly what I understood: allow Detail layers to be on while model space layers are off, no?

Yes, that’s it.
Any hint on ETA?
What’s trouble with implementing it? From a user perspective it seems like a simple request but I presume there is more to it?

Hi, I began to work on this few years ago.
It is not perfect but I think it may help.
At least, I still hope it may inspire Rhino team…


Mainly :

When switching to layout space :
- Save model layer states
- Turn all model layers on

When switching back to layout space :
- Restore model layer states

When a new layer is created, its visibility in details is by default OFF (not altering existing layouts). If shift is pressed during creation, the Rhino default behavior is applied (ON).

To print, go to layout space to make sure every model layers are ON.


So I guess this is the real conundrum isn’t it?
How can you build a good 2D interface when you also need to retain compatibility with the industry standard, which is DWG and is fundamentally flawed?

I don’t think Rhino needs to work exactly like AutoCAD here. After all, Rhino has sublayers, ACAD does not.
When exporting a DWG (which is indeed still industry standard), it shouldn’t be too hard to somehow map Rhino’s layer visibility to ACAD’s.

Here’s the 8 year old youtrack entry to this:

Yeah, true. To maintain compatibility in export you could have something like this:

  • Turn global layers on to match details


  • Export model space and details as separate DWG files

Rhino is all ready better than Autocad. I had pleasure to convert several autocad users by giving them minimal support in the transition and they never looked back.
That program has got so clunky and over-complicated that it’s stressful just to open it :sweat_smile:

Talking of over-complication (and hoping of not going too far off topic)

What’s the point of the layout visibility set?
And why show the global visibility settings while inside a detail?
Does anyone make use of these?

I am not sure I am following the request here.

Can’t one use Layer States to do this? Create a layer state for each detail so you can reset to before printing. Am I missing something?

A detail in a layout is basically a viewport. Having different layer visibilities for each viewport seems counter intuitive both from an user stand point as well as from a developer stand point. I imagine huge changes must be done to Rhino code to allow this…

Although it is true that in the current state of things, if multiple layouts requiere multiple layer configurations one is forced to print one layout at a time.

One could indeed, but it’s pretty fiddly.

Is it? I don’t see that, if you can have detail layers off while having globals on why would it not be possible to have the inverse.

Dale Fugier commented 4 Apr 2017 13:30
This is the Meta issue for layers, viewports and how the settings are stored, controlled, and presented to the user.
This is a disruptive change that need to begin to happen early on in the Rhino 7 development cycle.
And this is important to do

So yes, I suppose there is a re-write of core mechanics involved but some of it may already be underway? @dale

As guido said: you could, but it’s a hassle to maintain Layer States, and you shouldn’t need to use them to ‘fix’ all Details manually ever time before printing.
There’s this problem with Layer States: when a scene grows, and layers are added, Layer States become more and more ‘out of sync’. They ‘age’, so to speak, and become unusable.

The opposite: it is very desirable to have Viewports=Details show different parts of the scene!
For example: in the architectural scene I’m working on (200+ layers, 30 layouts), there are layers that contain an abstract version of the building, and other layers that contain all the building parts, plus design options of everything. One Layout should display the abstract parts, another layout the facade and so on, ready to print on demand.

Possible solution 3 (maybe the simplest):
Model space viewports and each Detail have just ONE column of layer toggle lightbulbs, which affect ONLY this one Detail, or the Model Space. In other words, chuck the first column of lightbulbs in Details!
(Since it can be desirable to turn off a layer everywhere, there could be a special command or menu item to do so.)

Good question. I still have to idea and no good use for this.


So that we understand each other:
The viewports (normally 4) of the Model Space of course share the same layer visibility settings. We are talking about Details having different settings than the model space viewports.

But you know what: it’s actually a good idea!
Why should not each and every viewport/Detail, including all in the Model space, have different layer visibility settings? It would be cool have one viewport show these layers, and another one others.

This will always be the case, even if you had a separate layer control for each detail: If you define layers for a detail, then add new geometry on a new layer, you would have to go through each detail deciding whether you want that new layer on or off.

I get this, if details were just that, details. But the way the work in Rhino, please someone at McNeel correct me, is by being a viewport. It would not make sense having your TOP view show some parts of the model and the FRONT view show others.

Don’t get me wrong, I still think you have a valid point when one needs to print different instances of the same model, but I don’t think this complete overhaul of display settings you ask for will solve all of your problems. In fact, most of it can be done with Layer States and commands such as “HideInDetail” and most of the “updating layers” trouble will still be there even if you had a separate layer control for details.