Geometry on hidden layers in Outliner


#1

I’m teaching Sketchup in the first semester of the Architecture programme at LTH, Lund university, Sweden. During my teaching I’ve encountered a couple of tools, features and techniques that might be improved, to have a more coherent logic in relation to the rest of the software.

  • Geometry on hidden layers in Outliner. It would be good to be able to see in the Outliner which objects are on a hidden layer. Three visual cues: Regular (on a visible layer), Hidden (on a hidden layer), or Mixed (geometry on both hidden and visible layers). Would make it very much more easy to grasp complex layer-geometry interactions. Like it is now, geometry on a hidden layer simply disappears form the Outliner.

#2

Unless this change was accompanied by a new control to select which of the cues are active, there would be no way to control the size of the outliner. It would always show everything in the model. Whereas that might be less confusing, for a complex model it would also make the outliner uselessly large, requiring constant scrolling to find anything.


#3

There is another current “cue” which is hidden property set true, which shows as dim text in the Outliner.

The Outliner could use it’s own mini toolbar, and a object class filter menu (with checkboxes for all the various types of objects,) and some master hidden checkboxes (one for hidden property, one for on hidden layers, etc.)


#4

It also boils down to what the Outliner should represent: The geometry of the model or the geometry of the scene. I’ve always considered it (maybe erroneously) to represent the geometry of the entire model.

With that approach, it is possible to make the nested, hierarchical organisations of geometry that at least I appreciate so much. Some big top groups (Landscape, Buildings, People and cars), containing subgroups with subgroups, controllled thorugh show/hide in Scenes. I know there are very different workflows going on for other people, some very layer centric.

Regarding filter bar, that might be a very good idea. Photoshop Layer Search comes to mind, pretty slick, with buttons for what kind of layer should be displayed + text search. That might help in various scenarios to overview or drill down through your model.


#5

The model, group definitions and component definitions have entities collections.

Scene pages do not. However, they can (if set to do so via the Scene Manager or API calls,) keep a list of which layers are hidden and/or which object entities are hidden, per particular scene page.

Generally, this is true.

Well, the Outliner can work “funky” (that can throw off the unwary.). It has a filter box on it’s toolbar. So if some user entered filter is active, the things that are displayed may be only those objects matching the filter.


Also, other cues are different icons for hidden objects, and blue text hierarchy for those contexts that are “open for edit mode.”


That is what IS recommended. The objects are grouped (or are components.) And layers (which are really visibility masks,) and created with names like you’ve listed above. Then the groups or components have their layer property assigned to point to a particular layer. Lastly, in the Scene Manager you set what layer (masks) are visible or hidden for particular scenes, and always update the scenes after changing settings.

This has been discussed at length, in other threads. It is not exactly on topic for the Outliner. I realize you may believe setting an group or component directly hidden or visible via the Outliner is desired. But it is “old school.” When you switch to using layer (masks) and scenes, in concert, your workflow will become much more powerful.

The Outliner is basically a selection tool. Plugins can modify the right-click context menu for selected objects. I have a old plugin that adds a menu with a command, that can hide the layer(s) which are assigned to selected objects. There may be other similar plugins by other authors.


#6

Could you elaborate a bit on why it is not recommended?

I have always thought of and treated Sketchup as having a set of flexible overlapping principles, Scenes, Layers, Groups (shown/hidden), Components. And I’ve seen some very creative interactions between those in different workflows (though, obviously, when I need them, I don’t have the links to prove it). I thought Sketchup was agnostic towards how you mix the principles for your workflow? And that that is a great strength of the software?

Anyway, Outliner is great, and I still think there is a possibility to make it better, and have it interact better with Layers. Actually, no matter what is the current recommended workflow. I think about it as integration and clarity between the principles.


#7

This is an experience-based recommendation. SketchUp provides very limited memory of what you hid when - the only unhide options are selected, last and all. “Last” is not a stack or list. Only the immediately previous hide operation is remembered. And unhide “all” works only within the currently open edit context (model, Group, or Component), it does not find hidden entities inside other Groups or Components, including ones nested inside the currently open Group or Component.

These limitations make it pretty awkward to use the hide flag for managing sets of things. It is very easy to lose track of what you hid when and as a result, to get confusing visibility issues with seemingly missing parts. The only escape is to unhide all. So, hide is mainly useful when some stuff is in the way of what you need to see, and you want to temporarily “disappear” it. Even then, if the stuff is Groups or Components a layer provides a better-managed alternative.


#8

Just to reiterate my reason for making this feature request, before getting into workflow preferences:

I think Outliner is a great way to organise your model and geometry, it gives you an overview, lets you drill down, lets you move groups into fitting subgroups, lets you show/hide, search. It is far beyond a selection tool, it is also an organisational and overview tool.

Outliner AND Layers are great companions and should coexist in a way that allows and encourages different workflows. That’s why I think it would be a good idea to represent geometry on hidden layers in the outliner.

Onto my workflow preference: I’m working a lot in the Outliner, because it represents my mental model of my Sketchup model. It is hierarchically nested. Show/hide objects work great in the Outliner, but, as pointed out, not so great using the menu. IMHO, hierarchical/nested organisation is contemporary, and flat layer organisation is old school.

One interaction between Layers and Outliner could be like this: In a project, I want high poly geometry for final presentation of details, close ups and perspectives. For working with the model, I generally want low poly geometry. So low poly and high poly can get one layer each, and as I work high poly layer is hidden. When finished with the detailing of a specific part of the model, I assign the detailed geometry to the high poly layer, and keep working on other parts. When setting up scenes I might want to show some people, trees or buildings and hide others, depending on viewpoint, and I do that in the Outliner. When presenting, I turn on the high poly layer.

Everyone got their way of working, what makes sense to them, so I’m certainly not thinking my way is the greatest. I think Sketchup should accomodate and encourage different ways of working.


#9

SketchUp has misnamed layers. They are not true layers, like in other CAD applications. They are actually “shared visibility masks.” SketchUp layers do not have entities collections, therefor geometry CANNOT be ON layers (hidden nor visible.)

Geometric entities (either primitives, groups or components,) have a layer property that can be set to point at a layer (think shared visibility settings, … not geometric separation nor collection.)

In some other threads we’ve suggested changing the name of layers (as they’re now implemented,) to something more exact like “mask” or “vizard”, … and then implementing a new special group subclass that can act more like what users expect a true layer to act like. (Ie, an entity collection that does separate geometry, and also has visibility properties.)

Anyway… do a search and continue discussing those features in those threads…


#10

I’m always nagging you with this, sorry…
I don’t see any essential difference between CAD layers and SketchUp layers. OK, AutoCad layers have a Lock and Do Not Print property, but that is about it. Now that even AutoCad has the option to make things stick together (Auto-constrain), they do that quite as happily across layers as in SketchUp.

Anssi


#11

The difference is AutoCAD layers HAVE collections. And again, it’s not about what you as a expert, know to be the “nitty-gritty-truth” about AutoCAD. It’s is about the average Joe’s perceptions and their expectations about how they wish to use layers (or something called layers,) in SketchUp.


#12

Said another way, the relationship between entities and layers in SketchUp is effectively one-way. Every drawing element contains a reference to a layer. But layers have no back-pointer to those entities that refer to them. The only way to find out what entities reference a given layer is to query every drawing element in the model and see what layer it references. So, layers don’t provide any useful mechanism for organizing entities beyond visibility.