Grouping best practices?

When you are making a model, how many layers of nested groups do you use? For example, modelling the rooms in a house with studs behind the walls: would your hierarchy look something like:

  • Each stud a group, the wall front (drywall or whatever) a group
  • Group holding the whole wall (all studs, wall front)
  • Group of the room (all 4 walls and floor)
  • Group of the room and its contents (furniture etc)
  • Group of the house (all rooms)

My issue is then to edit a stud you have to click through 5 levels of group before you can make a change to it. Sometimes it also gets tricky even selecting something in a group. I have found myself thinking I am editing raw geometry to find I am just drawing lines on top of a group.

Also, is it a normal practice to have lots of overlapping geometry if it isn’t visible? In the wall+studs example, the front face of the studs is going to be exactly even with the back face of the wall. This would cause z fighting if you looked from inside the wall,front, but since that isn’t a view that will ever get used is it acceptable to just ignore this overlap? I know this seems kind of trivial but I figure if I am learning I might as well practice good habits.

And how far down the group hierarchy do you usually move off layer0? In my house example I would make all the raw geometry layer0 and then every group the layer of the floor it is on (ground floor, etc). I try and avoid making too many different layer types (studs layer, room layer, etc) because the layer list gets too cluttered. Maybe I should just organize better though?

There is not ‘one’ answer for all possible ways to use SketchUp.
If you wanna know how many studs you would need, then model them (but make a component instead of a group)
If you’re using it to explore different colors on walls, just model the outline of the drywall.

Bottomline is that you cannot model ‘real life’ or the world ‘an sich’
The goal or purpose of the model determines the level of detail.

1 Like

I use whatever nested levels as I deem appropriate. Everything that is a distinct object is eitehr a group or component in my models. I can have a foot on a leg inside a table in a re-occurring furniture group in an apartment in a building.

I’ve never experienced any problem with clicking many times though, probably due to logical grouping. I only see the need to edit a table when I am already editing the apartment. I only edit apartments when already inside the building. I rarely go more than 1 or 2 levels in at each time, even if the model may have 7 or so levels deep.

You can also use the Outliner to drill down and enter nested groups.

3 Likes

I think, overlapping faces if they are not visible is a very common thing in SU. And it shouldn’t be a Problem as long as…

  • They are in separated groups.
  • They are really not visible

Your grouping strategy sounds perfectly normal. The only thing I’d change is maybe not group each room. I’d just group each “level” of the house.

Totally normal. I just got into the habit of left clicking a bazillion times until I see the face/edges highlight, then I know I’m definitely inside the group. Like, I’m talking about rapid fire left clicking as fast as I can. I’m not thinking about how many times I double-click into a group, it’s just clickickickickickickickick, and then maybe tap ESC if I went one group too far, lol. I’ve never looked at a model and said “you have too many groups.” Use groups and components freely.

I have looked at models and said “You have too many layers.” though… More on this below.

Yes! Absolutely. This is very normal. Walls touching and floors touching walls is very normal, and the Z fighting isn’t seen, so no harm done.

I try to use as minimal layer assignments as possible, through the use of parent groups. For example check out this grouping strategy. I’ve named the groups according to which layer they are assigned to for clarity: You can see that the actual doors that are currently highlighted are all on layer0.

Each level gets an LO layer and corresponding group. (LO_1st_FLOOR, LO_2nd_FLOOR, etc)

Each “object type” gets an OB layer and corresponding group (per floor). (The layer is only created once, but each level of the house would have a corresponding object group in to.) So the OB_Door parent group would exist inside the LO_1st_FLOOR group, and there would be another OB_Door parent group inside the LO_2nd_FLOOR group. But only one OB_Door layer.

All objects inside of OB parent groups just keep layer0. So if you want to add a door to your model, just enter the correct LO group, then enter the OB_Door group, and add your door. The layers are already inherited by the parent groups, so there’s nothing left to do.

Hope that makes sense. I explain it all in my books :wink:

1 Like

Here’s a look at some of the layer structure of that model: (I have more layers below this, not shown, that I used for objects I used for estimating cost, under the prefix PR_.)

In reality, I could reduce the number of layers even more if I wanted to.

2 Likes

Z-fighting becomes an issue only if your model contains zero-thickness faces that are visible. If the modeled objects have thickness you can’t see the far side face so it doesn’t matter if it coincides with some other object’s near face.

In addition, the search function in the outliner might be very usefull. if you use components you wil have another possible filter that you might use, the instance’s name. It’s all about naming, I guess.

Other modeling tip is to set a shortcut for [menu]Model Info->Components->Hide Rest of Model. That way, you can isolate the group or component that needs to be edited and go back to see the context, quickly.

Yes, I use that quite a bit, and don’t forget to name your groups and components in order to do it, otherwise the outliner just lists a bunch of stuff named “Group.”

One good reason to put studs and such on their own layer is that, from a distance, they tend to telegraph through the finishes visually, and turning off their layer is one good solution for that.

1 Like

I have a very useful extension called Stretch By Area. It allows you to select a bunch of endpoints, regardless of how deep they are nested, so that you can move them and any planes attached to them. Obviously, this only allows one kind of edit but it is such a common one that I find myself using it a lot. Above all, it can save a lot of time.

1 Like