Just reopening because there is a loophole (I believe):
If you IMPORT a c2d that has hidden layers, the objects that are selected after import INCLUDE hidden objects.
I reported this as part of this thread…but think it really belongs here.
The objects were just acted on, so are included — one use for this sort of thing is to do modular designs, so moving the just imported parts as a unit, even if some are hidden would fit for that use case — if you don’t wish to move them, then click on an empty area to deselect.
They weren’t acted upon, Will. They were embedded. CC is doing the right thing with them up until the end…it’s creating the layers and hiding them…just like the c2d says it should be…so the objects on the hidden layers ARE hidden…as they should be. The problem is, it then does a SELECT ALL on the objects that it embedded and hidden objects are being selected - which should NEVER happen. That’s the fix we just applied earlier in this thread. If hidden objects are allowed to be selected, the user is going to make changes they can’t see and be very confused.
EDIT: In fact - CC disables “Select all on this layer” when a layer is hidden, preventing you from selecting hidden objects. As it should.
Yes, but when things are imported, they are selected.
It may be that when one imports, one will need to adjust the positioning — having them all selected facilitates that — if the hidden objects aren’t selected, then one has to:
show the layers which were hidden
select the objects in question
in order to do this.
I’ll grant it’s an inconsistency, but it’s one which is potentially useful and minimizes user action, w/ only a single click necessary to get to a normal state.
We absolutely disagree. If I have a c2d saved with hidden layers, there’s a reason. I’m not anticipating using those hidden layers without showing them.
As a rule, you should NEVER be able to select hidden objects. It’s not just inconsistency…it’s asking for confusion and unintended results.
Use your example: If you embedded a c2d with hidden layers and they were selected and you wanted to move them…how would you know those layers are moving to the right place? In my example, my layers are mirror images of each other (one layer for plug, one for socket)…I never would want to move them to the same place…you just can’t make the assumption that positioning will be consistent between the layers.
My example has a plug and socket for a cam that locks multiple boxes together. They are going to be embedded onto a couple of different places (hence the embedding).
The sockets will be placed on the left-outside side of the box (which has a slanted side)…and will be placed about two inches behind the center point of the side (the center of balance for the box because of the slanted sides.
The right side of the box will have the plugs…they will be positioned in the mirror location of the sockets…on the right-outside side of the box, about two inches behind the center point.
When you look at the sides, you will see that they are mirror inverses of each other…not the same location.
The legs are also “removable” in this design and will also use the cam mechanism to attach to the boxes. One A-Frame leg will have a plug (and no socket), the other will have the socket (and no plug).
The development of the cam mechanism itself was done without using the sides…hence, the creation of the c2d for the cam/socket details…on separate layers. The use of layer visibility allowed me to size the socket and plug independently to get the easy fit I was looking for…while retaining relative positioning of the cam, the attachment points of the cam, and the center hole (through which a bolt passes).
That’s the use case that created this mess in the first place!
It may not be consistent or useful but the way grouping and other commands work, we can never allow a hidden item to be selected without potentially bad things happening. We could make all imported layers visible and then select everything but that’s probably more inconsistent than only selecting visible items.