A collection of tools to select entities together as a group based on a Group ID stored in a custom property.
Intended for when entity grouping based on layers or in blocks is not the solution.
Or when handling grouped entities in a Block is not supported, e.g. QCAD/CAM.
But especially intended for when you catch yourself making the same selection of entities over and over again.

The package contains a selection listener that acts on selection changes and some convenient tools for handling Group ID's.
The package is donated freely 'As Is' to the QCAD project (See script headers).

In such a case the custom installed files under scripts\Misc\MiscSelect should be removed to avoid conflicts.
Usage:
One can install/activate or remove/deactivated a selection listener with a tool button, the button icon reflects the state.
Keyboard shortcut sequence: LXG (LX for listeners and G for entities groups)
It doesn't influence the standard QCAD selection behavior when inactive, when there is no (extra) listener installed.
When activated:
- The listener will scan for any newer change in selection of the visible entities.
- Adds all entities with the same Group ID's as those already selected to the existent selection.
Entities belonging to the same group are thereby selected together as a group.

The custom property key Name is always 'Group ID', this will become language dependent once script translations are established.
Group ID's can be defined in a hierarchical manner, parent and sub group key values are separated by a dot.
There is no direct limitation on how many sub groups.
The usable characters are restricted to: a-zA-Z0-9_%$-+. and it is limited to 255 characters.
Some examples of Group ID's:
- "123" ; "Abc" => And thus case-sensitive.
"A1z7_+1"
"Parts.01" ; "Parts.01.1" ; "Parts.01.2" => Selected together when an item of "Parts.01" would be selected.
"Parts.01.outline" ; "Parts.02.hole"
"Parts.01" is thus just the same as "Parts.01." or vice versa.
Otherwise, "Parts.01.." is not the same as the two above, essentially meaning "Parts.01.<void>.<void>" ...
... But "Parts.01" is the parent of "Parts.01.." and that would be the parent of "Parts.01..abc".
Filtering is kept simple, it is based on string-wise 'Starting with' something that always ends with a dot.
Included tools:
1) One can define Group ID's by adding them manually as custom property and these can be anything, even invalid.
The first additional tool lets you specify a (new) Group ID for a selection of entities by dialog.
Keyboard shortcut sequence: TD (T as for Select methods and D for 'define' was still available)
The tool requires a selection.
2) It is perfectly possible to use the QCAD Selection Filter to make a selection based on custom properties.
The second additional tool is basically a selection filter specialized in handling Group ID's.
Keyboard shortcut sequence: TS (T as for Select methods and S for 'select' was still available)
3) The third additional tool lets you clear or fully remove the Group ID custom property.
Keyboard shortcut sequence: TK (T as for Select methods and K for 'kill' was still available)
Since v0.28 entering a comma is allowed in the tool dialogs but it is automatically replaced by a dot.
More details can be found in EntitiesGroupsRelease_v0.28.pdf.
Also included under the listener folder together with an example drawing.
If anythings fails to work as intended ... Or as expected, then please contact me per PM.
Include your drawing example and explain the selection sequence in detail.
Explain or sum up what is expected.
Regards,
CVH
Direct installation:
------------------------
The package is intended to be installed under: .../QCAD/scripts/Misc/MiscSelect/*.*
Where the 3 dots are the installation path of QCAD or the local data location (See: Changelog 3.26.2), QCAD or QCADCAM or ...
It may be required to manually add the folder structure .../QCAD/scripts/Misc/ and the sub folder MiscSelect/
The full path of the base script then reads as: .../QCAD/scripts/Misc/MiscSelect/EntitiesGroups.js
And that of the listener script for example as: .../QCAD/scripts/Misc/MiscSelect/EntityGroupListener/EntityGroupListener.js
One could display the MiscSelect Toolbar although there might be some tools included without an action button icon.
Another option is to include these tool buttons on a User Tool Bar and opt to display that.
With a little scripting knowledge they may even be included under the Select tools.
But I'll leave that to Andrew's discretion, especially for the correct SortOrder's.
WidgetNames are then: "SelectMenu", "SelectToolBar", "SelectToolsPanel", "SelectMatrixPanel"
Hoping this may be helpful for some users.