Why does SU not enforce drawing on layer 0?


I have asked about that before, but not gotten an answer.

Every then and now people get advices like

I follow this rule myself, so no problem for me.
But i wonder, why is it possible to draw outside of layer 0?
I guess there are use-cases where it’s needed.
Or it might be a legacy thing. If so, there could be a setting, to lock to layer 0 (I know there are plugins for that).
That would help all new users.


I think they just don’t want to force a particular workflow on you (or the developers are a bit :smiling_imp:)


But i wonder if they, or anybody, is aware of such other workflows, or if it’s sth. that really NOONE should do.

For now, it’s just a strange fact, kind of, “just do it, don’t ask”! Such things make me uncomfortable. I like to know why things work the way they do.

I think i have not heard of the above advice from officials, so i assume there ARE other workflows. But if these are as seldom as it seems from reading online, i guess it would make more sense to help those many who stumble upon it. Why not integrate something similar like the warning-plugins do, if this is good for by-far most users? Others could dismiss it with a “don’t ask again” checkbox…


There are a few occasions when you might want to draw on a layer other than Layer0 - I do, for example, when adding dimensions in bulk on a Dimensions layer, or adding Text labels on a Text layer, but I can’t think of a good reason for putting raw geometry (edges, faces, points) on anything except Layer0.

You can do it, but it can cause extremely confusing effects which are better avoided.


“Edges/faces” -> geometry

  1. There is a simple tool to do that:https://extensions.sketchup.com/en/content/cleanup³. It has the function to put all geometry on layer0

  2. I sometimes use “the function” to put geometry on different layers. For example: 2D representatives of a 3D component in Layout. Or dimensioning/text in the model for quick print.


You can switch layers if you are bringing in lots of external components that have been correctly built with their raw geometry on layer0.
For example, if you have a collection of furniture stored as a library, you can open a house model, create a “Furniture” Layer, make it active then bring in all your furniture components. They are then all assigned to the Furniture layer without needing to change them individually and their internal geometry is still on Layer 0.
You should really only change the active layer when not using any drawing tools.


Clearly there are cases in which it is useful to change the active layer. Several use cases have been presented already. I suppose they could create a little tick box somewhere in Preferences to “lock to Layer 0” so that those who don’t read and follow the Help documentation are protected from themselves. I expect though it would turn into something like the style change warning that people disable without understanding the implications.


When I need to export 2D hidden line vector images (DWG or PDF) I need to hide all my “glass” faces as these exports do not support transparency. That is why I tend to create a separate layer for those faces. Otherwise I usually keep everything on layer 0.



My LayerWatcher toolset addresses several ‘built-in’ issues:


It questions resetting your Current-Layer away from “Layer0” - although you can still do it.

It assigns “Layer0” to all manually added Geometry [Edges and Faces] irrespective of the Current-Layer.

If there is a suitable Selection… you also get:

Context-Menu 'Explode-To-Layer0’
This overcomes the built-in issue whereby exploding a group or component assigns the exploded-container’s layer to the resulting geometry - this alternative Exploder leaves all geometry on Layer0.


Context-Menu 'Selected-Geometry-To-Layer0’
This lets you quickly fix wrongly layered geometry using a selection, including the option to process geometry inside selected containers too…

Usage: Extension: Background [observer] processes and Context-Menu tools…