2

I have parented the smaller cube to the larger cube, to make child parent link. I want to be able to duplicate both objects, by selecting them as an entity, and not selecting both of them to duplicate them. Is there a way once I have made a child parent object, just by selecting it, I can make multiple duplicates? In the example I have posted, the second image Im trying to make the object a group so I can duplicate it as one object, rather than selecting the small and large cube. I thought that by parenting objects they could be also duplicated as one, but I keep on selecting both objects to duplicate.

enter image description here

blender breath
  • 3,737
  • 1
  • 10
  • 40
  • It has a children options in the select operator. – X Y May 09 '22 at 01:41
  • Im trying to do that, select both cubes and then choose children, but again I need to click on both of them to duplicate them, if I choose one cube, only one will duplicate. – blender breath May 09 '22 at 02:01
  • AFAIK this is not possible. Parenting doesn't mean that they are "one" object. They are still 2 objects. Maybe an add-on can do this. But of course you could write a python snippet which does what you want: select all objects which are parented or child objects. May i ask why you want such a functionality? – Chris May 09 '22 at 05:20

1 Answers1

4

Addon: select and select children

bl_info = {
    "name": "My Addon",
    "author": "X Y",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "location": "View3D",
    "description": "select and select children",
    "category": "Object",
}

import bpy

class MY_OP(bpy.types.Operator): bl_idname = "view3d.select_and_grouped" bl_label = "Operator select and grouped"

def invoke(self, context, event):
    bpy.ops.view3d.select('INVOKE_DEFAULT')
    bpy.ops.object.select_grouped(extend = True)
    return {'FINISHED'}


def register(): bpy.utils.register_class(MY_OP)

def unregister(): bpy.utils.unregister_class(MY_OP)

if name == "main": register()

1) Save to .py file and install

enter image description here

2) Check keymap is conflict

enter image description here

3) Add keymap in 3D view(Global)

view3d.select_and_grouped

enter image description here

4) Save Perferences

0) If you want to duplicate and Join the object

Add this between line 19 and 20

bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(0, 0, 0), "orient_type":'GLOBAL', "orient_matrix":((0, 0, 0), (0, 0, 0), (0, 0, 0)), "orient_matrix_type":'GLOBAL', "constraint_axis":(False, False, False), "mirror":False, "use_proportional_edit":False, "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "use_proportional_connected":False, "use_proportional_projected":False, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "cursor_transform":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False, "use_accurate":False, "use_automerge_and_split":False})
bpy.ops.object.join()
X Y
  • 5,234
  • 1
  • 6
  • 20