2
$\begingroup$

I can not believe this is so hard to do in Blender.. I just want to select objects from different Hierarchies or Collections..I just came to Blender from C4D for about a week...But I loved Blender quickly.. till today...

Middle mouse click on parent object in C4D, will select all hierarchy objs included parent obj..With holding Ctrl/Command, I can select several Hierarchies' objs easily.

I found "select hierarchy" command in Blender in right click menu, But it dose not work with multi Parents or Collections selected..

What should I do ? Or some add-on will help ?

Is this the basic objects management in a Basic 3D software?

$\endgroup$
  • $\begingroup$ Hello :). This should help: Is there a way to select all the objects inside a collection? $\endgroup$ – Jachym Michal Jul 30 at 14:47
  • $\begingroup$ However, you cannot select multiple hierarchies atm. It's a requested function hopefully coming soon. $\endgroup$ – Jachym Michal Jul 30 at 14:51
  • 2
    $\begingroup$ Well, you can use Shift+G in the viewport > Collection. Then enable Extend mode (F9 in default keymap). $\endgroup$ – Mr Zak Jul 30 at 15:25
  • $\begingroup$ @JachymMichal Thank you . but this is not for multiple Hierarchies or collections. Just for one.. $\endgroup$ – MadBall Jul 31 at 3:11
1
$\begingroup$

You inspired me to work out an addon that does that. It is very raw, so I only post the code, once it's done, I'll put it on our homepage.

import bpy

class select_collection_items(bpy.types.Operator):
    bl_idname = "bd.select_collection"
    bl_label = "Select Collection"

def execute(self, context):
    objects = bpy.context.collection.objects
    for ob in objects:
        ob.select_set(True)
    return {'FINISHED'}

def addMenuItem(self, layout):
    layout = self.layout
    layout.separator()
    layout.operator("bd.select_collection", text="Add To Selection")

def register():
    print("Registering")
    bpy.utils.register_class(select_collection_items)
    bpy.types.OUTLINER_MT_collection.append(addMenuItem)

if __name__ == "__main__":
    register()

Either run this in the script editor, or save it as a .py file, go to edit -> preferences -> Add Ons -> install from file.

Shortcomings:

  • I can't capture the middle mouse button, so the C4D solution does not work.
  • You have to left click on a collection, then right click on it and select the lowermost item: "Add To Selection"
| improve this answer | |
$\endgroup$
  • $\begingroup$ I tried run it on script editor layout, did registered the "add to selection" Menu, but nothing happened after clicking.. $\endgroup$ – MadBall Jul 31 at 13:38
  • $\begingroup$ did you first left-click on the collection? $\endgroup$ – Frederik Steinmetz Jul 31 at 18:10
  • $\begingroup$ Yes, I did select the collection.. I tried to type in the console , use "for loop" to select all objects , it works , but not work after running it in script editor. $\endgroup$ – MadBall Aug 1 at 3:10
1
$\begingroup$

I think this is the method so far if there is not many Collections or Hierarchies to select. Here are the steps:

  1. Turn on "Extend Mode" for select grouped, shortcut F9

enter image description here

2.Select one Parent, Shift+G, select children.

enter image description here

3.Hold Shift, select another Parent, Shift+G for Children selection... so on..

enter image description here

If there are 50 Hierarchies....

But I think it is not hard to make a Python script for this kind of selection.

  1. Select all parents.
  2. Run Python, Loop for all these selected parents, Each loop for children selection extended.

Hope easier life for using outliner...

| improve this answer | |
$\endgroup$
0
$\begingroup$

I think this was possible in Blender 2.79 to easily select multiple hierarchies, but it changed in 2.80. I'll edit my post if i remember what it was.

In any case, ever since I work with Blender 2.8x i use a workaround. It's not perfect but I for one am glad it is there.

Hierarchies in 2.8x

In Edit Mode in the 3D Viewport you can make a selection grow by Ctrl + Numpad +. But the same works for hierarchies.

If you select objects (possibly form multiple hierarchies), either in the Outliner or in 3D Viewport, then (with the mouse over the 3D Viewport) press Ctrl + Numpad + multiple times, everything in the hierarchies gets selected. The number of key hits depends on how deep the hierarchy branches/goes, so in some cases you might have to hit Numpad + a few times.

Collections in 2.82 (but apparently not in 2.83)

For collections right clicking in the Outliner does work to select multiple collections. You can right click on a collection in the Outliner and choose Select Objects. If you then click on another collection and do Select Objects, they are added to (not replaced by) the previous selection.

Hierarchies in 2.79

I just had a look and remembered; might be helpful to anyone working with 2.79.

Clicking on the root parent in the Outliner while holding Ctrl selects the whole hierarchy. Clicking on an object in the Outliner while holding Shift adds it to the selection. So holding both Ctrl and Shift down while clicking on the root parent objects quickly slects multiple hierarchies.

| improve this answer | |
$\endgroup$
  • $\begingroup$ "select objects " for Multiple collections does not work for me. While right click on another collection, the previous selection will be deselected. $\endgroup$ – MadBall Jul 31 at 3:09
  • 1
    $\begingroup$ That is unexpected. I wrote this based on 2.82.7, which i have been using for a while. But I also have 2.83.3, where (to my surprise) it turns out it doesn't work. I didn't think it would have changed. Perhaps it it some preference setting but i don't think so. I'll edit my answer accordingly. It seems this becomes harder as versions progress : ) $\endgroup$ – Fjoersteller Jul 31 at 4:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.