Author Topic: Copy/Paste Problems  (Read 572 times)

Lar

  • Hero Member
  • *****
  • Posts: 2771
Re: Copy/Paste Problems
« Reply #15 on: February 06, 2018, 05:51:26 PM »

I don't know how to execute what you said.  Maybe you can tell me.
Press Q for the Options dialog (or Options menu>Options...), click the 'General' tab, click the box next to “Don’t use nested layers” so a check mark appears in it (ie, enable it, which turns off 'nested groups'). A message will pop up saying something like "There are nested groups in the drawing, etc, etc". Click "No". This will un-nest all groups, whether they were nested or not.
 
A nested group is 2 (or more?) groups that will be selected together but they are still separate groups. 'Recursive Group Explode' (Tools menu> Groups...>) will split them back into two groups again. Sorry, that was incorrect, and thanks to AdrianK for pointing that out in the post after this one. To split a group back into separate groups use Group Explode. 'Recursive Group Explode' (Tools menu> Groups...>) will explode the whole nested group down to single entities.

When 'nested groups' is on (ie, “Don’t use nested layers” is un-checked... forgive the programmers for enabling a negative) all groups, whether they are nested with another group or not, live in a 'nest' (the 'container' Rob spoke of). This nest is actually an entity type (type 34), and just like any other entity it resides on a layer, but you will never see it. Imagine group-1 whose members are all on layer 1 and group-2 whose members are all on layer 2 but layer 3 is the current layer. If  nested groups is off and you select the 2 groups and Group Define them, they will all become 1 group with some of the members on layer 1 and some on layer 2. Layer 3 will have nothing to do with this group.

However, if nested groups is on, then Group Defining the 2 groups will put the 2 individual groups in a nest. The members of group-1 will still be on layer 1 and the members of group-2 will still be on layer 2 but the nest will be on layer 3. If you click on any member of the nested group you will select all the members and the info box will report that the group is on layer 3. However if any of these layers are off or locked you will not be able to select the nest, and if layer 1 and/or 2 if off you will not see the members that are on the off layer(s).

Far as I can remember, in previous versions, if the nested group gets selected and you use the info box to change the layer, only the layer of the nest gets changed, while the members of the nested group remain on their individual layers, but from what I can tell this was fixed in v2018.

Once you enable “Don’t use nested layers” (ie, you dis-able, ie, turn off nested groups) all the nests in the drawing recede into some parallel dimension and all groups they contained become unshackled. If  you ever turn nested groups back on, all the nests would re-enter our dimension and put the groups on lock down again. Remember, 'Recursive Group Explode' would separate the two groups but they would then reside in nests all by themselves (this may also only apply to previous versions).

Tips: to change the layer of each member of  a nested group plus the container use the Same As finger in the Layer Toolbox (a macro will do it as well). You can use the 'Show Details' button in the info box (the circling arrows) to access individual members in a nested group.


Lar
Hope at least some of that info is as clear as mud.
« Last Edit: February 07, 2018, 05:08:08 AM by Lar »

adriank

  • Hero Member
  • *****
  • Posts: 509
Re: Copy/Paste Problems
« Reply #16 on: February 06, 2018, 06:18:45 PM »
Lar, well explained, but there is one thing wrong.
Recursive group explode will explode all the sub-groups as well as the containing group - just use the regular explode to break it up into the smaller groups again.
And yes, you can have more than 2 groups inside another group, and you can have groups within groups within groups - but I have never experimented with how many layers of depth you can go to.

Dr PR

  • Hero Member
  • *****
  • Posts: 5580
Re: Copy/Paste Problems
« Reply #17 on: February 06, 2018, 07:25:41 PM »
Lar,

You are right about V2018 and moving groups! When I create a group or nested group (with nested groups enabled) and then change the layer of the group, the objects in the group actually move to the layer I wanted them moved to! Amazing!! Of course, that is the way it should have always worked!

In previous versions only the invisible "container"moved. That was the most bonehead programming screwup I have ever seen! It made all groups essentially useless when nested groups were enabled, and I have avoided nested groups like the plague ever since.

You still get an invisible object on the current layer when you select objects on other layers and group them. That is also stupid!

For me nested groups have been the most frustrating thing about DesignCAD. I used them for years in other programs where they were implemented correctly (no invisible objects on unoccupied layers, and objects in groups actually moved to the layers you said to move them to). For years I asked for nested groups to be added to DesignCAD, and when they were they were a total mess. Completely unusable.

For nested groups to be implemented correctly:

1. No invisible objects in empty layers.

2. The group container resides on all layers with objects in the group. It is a part of the group and moves with the group.

3. All objects move when the group is moved. Nothing left behind.

4. When a multiple layer group is moved you should have these options:
  A. Move all objects to the selected layer. The multi-layer group is collapsed into a single layer.
  B. Retain the layer structure in the group. Use a point in the group as a layer handle, and move this object to the selected layer.
      All other objects move to new layers with the same relative layer positions with respect to the layer handle.
     For most purposes just selecting one of the objects in the group determines the layer handle.
  C. If the layer structure is retained, either:
      1. Move objects into layers that are already occupied, or
      2. Create create new layers around the "move to" layer so parts of the multi-layer group do not move to layers already occupied.

For example, suppose you gave a group with objects on layers 1, 2 and 3, and you select (gravity snap) the object on layer 2. If you choose to move everything to a single new layer (option A), say layer 7, all objects end up on layer 7. But if you choose to retain the relative layer structure of the group (option B), select the object on layer 2, and move the group to layer 7,  the objects will actually be on layers 6, 7 and 8 with the objects that were originally on layer 2 ending up on layer 7. If you chose option C1 the moved objects will be placed in existing layers along with other objects that might be in those layers. But with option C2 new empty layers will be created and the objects in the group will move to the new layers.

5. With nested groups each subgroup retains it's original structure, and so on for all subgroups of subgroups. This will allow "peeling" the nested groups step by step.

****

The single purpose of groups is to make groups of objects behave EXACTLY like individual objects. When you create a line and then move it to a new layer, the line moves to the new layer. But with earlier versions of DesignCAD if nested groups were enabled and you selected the line and made it a  group, if you then tried to move the line to another layer it didn't move - only the group handle moved. That is perhaps the stupidest idea I have ever heard of! If an empty layer was the current layer when the group was created an invisible object was placed in the current layer, even if nothing in the group was on that layer. That was stupid! To make matters worse, after "moving" the group an invisible object was placed in the move to layer - only the invisible "container" moved. Dumb!

It looks like V2018 has fixed the bug where objects in a group don't move when you tell the program to move them.

Perhaps I can use nested groups after all, but I still have to be careful that the current layer is a layer containing at least one of the objects to be groups. That way the "container" will be on one of the layers actually containing part of the group and not off in some layer totally unassociated with elements of the group.

The reason I am so opposed to having invisible objects in empty layers is that they make it very difficult to tell if there is actually anything in an otherwise empty layer. When I want to move something to an empty layer I open the layers dialog to find an empty layer. But there may be many otherwise empty layers that have nothing but an invisible group container but are marked as occupied in the Layers Dialog. Lar,

You are right about V2018 and moving groups! When I create a group or nested group (with nested groups enabled) and then change the layer of the group, the objects in the group actually move to the layer I wanted them moved to! Amazing!! Of course, that is the way it should have always worked!

In previous versions only the invisible "container"moved. That was the most bonehead programming screwup I have ever seen! It made all groups essentially useless when nested groups were enabled, and I have avoided nested groups like the plague ever since.

You still get an invisible object on the current layer when you select objects on other layers and group them. That is also stupid!

For me nested groups have been the most frustrating thing about DesignCAD. I used them for years in other programs where they were implemented correctly (no invisible objects on unoccupied layers, and objects in groups actually moved to the layers you said to move them to). For years I asked for nested groups to be added to DesignCAD, and when they were they were a total mess. Completely unusable.

For nested groups to be implemented correctly:

1. No invisible objects in empty layers.

2. The group container resides on all layers with objects in the group. It is a part of the group and moves with the group.

3. All objects move when the group is moved. Nothing left behind.

4. When a multiple layer group is moved you should have two options:
  A. Move all objects to the selected layer. The multi-layer group is collapsed into a single layer.
  B. Retain the layer structure in the group. Use a point in the group as a layer handle, and move this object to the selected layer.
      All other objects move to new layers with the same relative layer positions with respect to the layer handle.
     For most purposes just selecting one of the objects in the group determines the layer handle.

For example, suppose you gave a group with objects on layers 1, 2 and 3, and you select (gravity snap) the object on layer 2. If you choose to move everything to a single new layer (option A), say layer 7, all objects end up on layer 7. But if you choose to retain the relative layer structure of the group (option B), select the object on layer 2, and move the group to layer 7,  the objects will actually be on layers 6, 7 and 8 with the objects that were originally on layer 2 ending up on layer 7.

5. With nested groups each subgroup retains it's original structure, and so on for all subgroups of subgroups. This will allow "peeling" the nested groups step by step.

****

The single purpose of groups is to make groups of objects behave EXACTLY like individual objects. When you create a line and then move it to a new layer, the line moves to the new layer. But with earlier versions if nested groups were enabled and you selected the line and made it a  group, if you tried to move the line to another layer it didn't move - only the group handle moved. That is perhaps the stupidest idea I have ever heard of! If an empty layer was the current layer when the group was created an invisible object was placed in the current layer, even if nothing in the group was on that layer. That was stupid! To make matters worse, after "moving" the group an invisible object was placed in the move to layer - only the invisible "container" moved. Dumb!

It looks like V2018 has fixed the bug where objects in a group don't move when you tell the program to move them.

Perhaps I can use nested groups after all, but I still have to be careful that the current layer is a layer containing at least one of the objects to be groups. That way the "container" will be on one of the layers actually containing part of the group and not off in some layer totally unassociated with elements of the group.

****

The reason I hate the existing nested group operation is the invisible objects (containers) in otherwise empty layers. Often I need to move to an empty layer so I can disable all other layers (reduce clutter) while creating new objects. But when I open the Layers Dialog to find an empty layer many layers are marked as occupied when there are no actual drawing objects in them. I end up with dozens of empty "occupied" layers!

Worse still, if I do move to an "empty" layer with a hidden container and then draw hew objects that I want to group I might accidentally group the invisible container from the original group. This did happen a couple of times before I figured out what happened. Entire drawings with days of work were ruined.

If you open the Layers Dialog and click "Unlock All" the program unlocks ALL layers, including those that are hidden. You still cannot select objects on hidden layers, but if you then create a group of all visible objects using "Select All" any hidden group containers on unlocked layers will be included in the new group! Dumb, dumb, dumb, DUMB!

Phil

DesignCAD user since 1987

wil01

  • Jr. Member
  • **
  • Posts: 88
Re: Copy/Paste Problems
« Reply #18 on: February 07, 2018, 05:26:16 AM »
Thank you Rob, it worked just fine.

Wil

Lar

  • Hero Member
  • *****
  • Posts: 2771
Re: Copy/Paste Problems
« Reply #19 on: February 07, 2018, 05:29:23 AM »
My thought on nested groups is that there should be a means of either selecting the whole nested group or any of the sub groups individually. You shouldn't have to group explode the nest to be able to get at one of the sub groups. Maybe this can be done by Shift+clicking on an n-group would only select the sub-group clicked on (also shift+right clicking so you can gravity snap the selection handle at an existing point on the sub-group).


Lar

Dr PR

  • Hero Member
  • *****
  • Posts: 5580
Re: Copy/Paste Problems
« Reply #20 on: February 07, 2018, 10:14:26 AM »
Here is one thing to remember when selecting groups/nested groups with parts on multiple layers.

If you open the Layers Dialog and click "Unlock All" you can then select all of a group that has some parts on hidden layers that are not visible. However, the hidden elements will still be invisible and you cannot gravity snap to them.

Then if you move the group all elements of the group are visible (shadowed) while you are dragging the group. After you place it on a new position the hidden elements will disappear again.

Phil
DesignCAD user since 1987