Copying Groups containing components and nested components


#1

When copying a group containing components and nested components before moving to a different layer the subcomponents/nested components do not copy over.
The process;

  1. Hi-lighting the group (left to right) or clicking on the group name in outliner
  2. Edit tab, & copy.
  3. Edit tab, paste in place.
  4. Outliner, click on new group, Entity Info box dropdown move to new layer
  5. look at new layer only the group hi-lighted box appears with no content/sub components etc

Have I done something wrong?


#2

What OS and what version of SketchUp? I can’t reproduce this issue on Mac using SketchUp 2015.


#3

It is rather likely that the inserted group copy still has the subcomponents, but just not visible (not on the layer you expected). So we have to find where they are, or why you don’t see them. Can you check again with changing layer visibility?

Layer assignment works in SketchUp per entity and complies with the nesting hierarchy. That means when you change the layer of a group, the group (container) is on the new layer, and its contained entities remain on the layer where they were.


#4

Aerilius likely has the ticket: you can get very confusing issues with visibility when the contents of a Group or Component are on a different layer than the container. In particular, if the contents are on a layer that is not visible, they will not be visible even if the container is on a layer that is visible.


#5

Aerilius, Thanks for the response.
Hi-lighting the group and clicking on each of the various components in the original drawing shows each component or nested component are on a layer, in this example the group is of a simple vertical and lateral restraint support to a conservatory, with the layer named the same. clicking again on an individual component shows it on the correct layer and double clicking (edit mode) shows Layer 0 in the Entity/layer box/tab.
You are correct the container is copied and moved to the new layer but the content is not.
I’m running widows 7 64bit and SU 15 64bit.


#6

Layer 0 is the safest place to keep the objects that are contained within a group or component.

Anssi


#7

And the content should not be moved to the new layer. That’s how it is designed* (and not even wrong by design, but can be used for very clever things, but one needs to understand the concept).
But nevertheless the content should be copied (ie. the group copy contains all the entities that the original group contained). Can you turn on visibility on all layers to check it again?

(* if developers had designed it to change the layer of all contained entities no matter how many they are or how deep they are nested, performance would suffer and inheritance from component definitions couldn’t work.)


#8

In outliner it shows the correct copying and moving to different layer with all the sub and sub components listed, again the container only shows. I have checked the visibility of the relevant/all the layers which are ok.
I’m try to have separate layers of existing (to be locked) and proposed, the proposed altering the base structure/model. I understand I will have to make the components/nested unique if I alter them, its getting a base copy to work on I’m having trouble with!


#9

Can you reproduce your workflow in a new file (as simple example, like boxes) and does it show the same behavior? Can you share such an example so that we can inspect and try on our own?


#10

Again I agree with Aerilius. I can’t reproduce what you describe other than by layers visibility issues, so a working example would be most valuable. No offense intended, but a lot of times when a problem can’t be reproduced it is either because the reporter hasn’t fully described all of what they did or because the model contains some particular structure or flaw that doesn’t happen in simple test cases.


#11

Cons steel work 200215.skp (460.8 KB) I’ve stripped out most of the model and attach herewith.
Let me know what you think.


#12

Your model has two layers, “Cons Base Metal Work” and “Cons Metal Work Proposed”. There is a Group named “Cons Metal Work” on the first layer and an (as yet unnamed) Group on the second. These groups are structurally identical. They each contain nested ComponentInstances of the same Components, and all of these CI’s in both Groups are on the “Cons Base Metal Work” layer. This means that if you make the “Cons Base Metal Work” layer non-visible, these CI’s will become invisible regardless of what layer the enclosing Group is on. They disappear from both the model display and from the Outliner because Outliner only shows what is visible in the model. The root geometry is all on layer 0, which is good, but these nested Components on other layers are causing your problems, I think.


#13

Thanks slbaumgartner, I assume the nested components should be on the Cons metal work layer with the entity layer (for editing) on layer 0? or should the nested components be on level 0 (both editing and non editing) with the main group on Cons metal work?


#14

The problem is if you want one of the outer groups to be on Base and the other to be on Proposed and want to toggle back and forth between visibility of these layers. When the contained instances are on the other layer than the enclosure, they will vanish when that layer is not visible. If you change the contained instances layer to match that of the enclosure or change them to layer 0 the issue will go away.


#15

It just occurred to me that it might not be clear to you that each ComponentInstance of a single Component can be on a different layer. The layer is associated with the instance, not with their shared ComponentDefinition.

Also, assigning a different layer to a container is not recursive. The contents stay on whatever layer they were previously associated with.


#16

How would you therefore approach drawing the metal work with a view in locking the existing allowing it to be recalled/compared with a proposed arrangement based on the existing?


#17

Put the outer Groups on separate layers as you have done. Put the nested ComponentInstances or Groups onto a layer that is always visible (layer 0 is good, but you can use another if you leave it visible all the time). When you toggle visibility of the outer Group’s layer, its contents will hide with it.

For nested ComponentInstances you will edit, make them unique before editing (Group copies magically become unique when you edit them). You can then make one scene with the existing displayed by making the necessary layers visible and updating the scene, and a second scene with the revisions, again by making the necessary layers visible and updating the scene. Your layer visibilities will not “stick” until you update a scene.


#18

Thanks, I’ll try what you suggest.


#19

You might enjoy this SketchUp Sage page dealing with layers.