Select other objects in a collection when any other object is selected?

I would be grateful for any advice how to approach the problem of automatically expanding selection to any object within a collection when any single one object (in that collection) is selected.

I’m new to blender (but not to programming or 3D modelling) and the way groups work in blender seems unclear to me. How do you manage asemblies of multiple objects in blender? It seems really easy right now to just select a child of an assembly and move it without realizing that it’s actually part of some group (and thus destroying the model). In most other 3d programs I used there was a concept of grouping elements into an assembly. In blender it doesn’t seem to be possible? Especially when you require nested groups (groups withing the groups)?

I’d love to create such a feature, unless something like that exists already and I’ve just missed it?

As objects can be in multiple collections, that problem is a bit ambiguous.

I think it could be done with a python script. Iterating over all collections, comparing to the original object.

Select Object then top menu Select → Select Grouped → Collection
Note: it select collection objects only for Active Object selected

For multiple selected objects - simple python loop code:

import bpy

active = bpy.context.view_layer.objects.active

for obj in bpy.context.selected_objects:
    bpy.context.view_layer.objects.active = obj
    bpy.ops.object.select_grouped(extend=True, type='COLLECTION')

bpy.context.view_layer.objects.active = active
1 Like

You can explore Select Up or Collection manager.
The first one does it directly, the second one has isolation solution which allow to accumulate the desired collections with visual contol via “-” and “=” hotkeys, temporarily isolating collections of a selected objects, providing more control over the selection process.

Collection Manager is built-in but disabled by default.

1 Like

That’s because Blender doesn’t have groups; collections are not groups. (To someone familiar with other software, it looks like it is the same feature. it isn’t).

This addon doesn’t solve all issues you might have with not having groups in Blender, but it can work in many cases:

1 Like

Thank you, all for your advice.

@thorn-neverwake I’ve just come across this addon as well. Yes, it seems to solve a lot of these issues - testing it now.

I’ve elaborated on this issue further in a BlenderBIM github repo, but with a bit of luck GroupPro will be sufficient (use case is architectural design).

Group Pro has known issue - it produce Blender files incompatible with vanilla Blender, so user have to buy and install this addon in order to be able to edit such kind of groups.

1 Like

Hmm, that’s a good point, thanks. It would be useful to have a similar feature natively in Blender. Do you know by any chance if there is anything like this on the roadmap?

This topic is massively heated.

First things first, different programs has different definition of a “Group” term.
For example, Maya Groups is not a common grouping system - in fact it is parenting system.
Old Blender Groups is also not a common grouping system - it is tagging system.
Both of those systems disallow selecting the entire group by clicking on its member.
Valid Common Grouping system presented in 3dsmax, Autocad, Revit, Sketchup, Inkscape and other programs, and also in Group Pro addon.

There was lots of deity and discussions around such a question, and even Ctrl+G shortcut originally has been reserved for such a functionality.

However, Common Grouping functionality implementation has not been taken into account during 2.8 depsgraph redesign, which unfortunately makes its native Blender implementation incredibly challenging.

For now native Common Grouping implementation is abandoned.

2 Likes

Thank you for confirming, that’s a real shame. I will have hard time adapting blender to my workflow without Common Grouping.

Interesting, I was wondering what’s the Ctrl+G shortcut in Blender. Maybe one day someone will take on the challenge then to implement it. I will keep on studying the code as well.

1 Like

Machin3 Tools has functions that allow for Maya style grouping (parenting) and quick selection for groups, dbl-lmb I think is the default