# Array a Group of objects?

Is it possible to array a group of objects?

For example, if I have three objects in a group, (I want to keep them as separate objects) is it possible to easily duplicate them as if I pressed AltD for every single one?

• What's wrong with using Alt+D? Also a possible duplicate of Array modifier to create individually manipulatable objects? – Aldrik Aug 24 '13 at 9:56
• @Aldrik I don't want to create individual objects, I want to array multiple objects. (multiple objects in, multiple objects out.) and Alt+D is just too tedious for large amounts objects. :/ – gandalf3 Aug 24 '13 at 22:46

here is a solution that actually allows use to use the array modifier to duplicate grouped objects. It does, however, require one extra mesh.

We begin with our grouped object:

Then add a plane. Go into the object properties for that plane, and enter the instancing tab (called duplication in 2.7). Select faces.

Finally, select your group object then your plane, and hit Ctrl-P to parent them, selecting Object.

Now, finally, if you add an array modifier to your plane, the group object will be duplicated:

Demo file to see final result:

• good method but after setting the count to some number and if we want to delete or hide the plane the hole array disappears. How to delete the plane that is unwanted. I donot want to apply the array modifier and just want to delete the plane which we have insert. Is it possible.. – atek Nov 23 '16 at 14:43
• @atek during my tests the planes did not show up in renders - but yes, there is no way to hid them. – GiantCowFilms Nov 23 '16 at 15:46
• weird things happen when I resized and rotated the instancer ( "Duplication" changed to "instancing" in 2.8, instancer is able to be hide now ) before parenting objects to it. All object messed up in different locations. – Albert Nov 6 '19 at 8:13
• @Albert I tried rotating and scaling the instancer, everything seemed to behave normally. Could you describe more clearly what went wrong? – GiantCowFilms Nov 6 '19 at 16:43
• @GiantCowFilms I created multiple objects 'A1,A2,A3' and then edit each of it ( G/R/S, extrude, etc. ). Parent all of it to the active selected 'B', then parent 'B' to an instancer. Each duplications of 'A1,A2,A3' rotates in random axis. I'm not sure which step cause this problem, probably ctrl a is needed on 'A1,A2,A3' before parenting. – Albert Nov 12 '19 at 4:48
1. Select all the objects you want to multiply.
2. Make linked duplicates with Alt-D and place them at the proper distance.
3. Repeat your last step with Shift-R as often as you like.

Another way for more flexible needs:

2. Give them a keyframe with I > location.
3. If you want a row of ten objects, go nine frames forward and move your selection to the end of your substitute array. Set another keyframe
4. Enable Dupliframes for each of your objects in the Object Properties, Duplication panel. Adjust start and end accordingly or you'll get a hundred copies.
5. Use the Graph Editor to set the interpolation to linear with T,2 if you need even distribution of your objects.
6. Make the Duplis real with CtrlShift + A

This process makes it possible to move, scale and rotate your objects freely.

• Wow, I never new about Shift+R.. Here I was pressing F3 constantly.. great shortcut :) – gandalf3 Aug 24 '13 at 22:58

One way to do that is to execute Shift-A / Add > Group Instance > [group name] to instance the group as a single object. Though it's basically an Empty, so we can't put an Array modifier on it, we can still Alt-D on the instance to create linked-duplicates.

Edit: For a more automated tool, we do need some basic scripting. I've written a short operator to do just that. Here's the key part:

for count in count_product:
loc = center + Vector([count[0] * self.offset[0],
count[1] * self.offset[1],
count[2] * self.offset[2]])

dup_obj = bpy.data.objects.new(group.name + '_array.000', None)
dup_obj.location = loc
dup_obj.dupli_type = 'GROUP'
dup_obj.dupli_group = group