How to distribute an object to a hexagonal grid? I want to create a hexagonal Array (in other name: honeycomb) of this object:



It is very important: I don't want to "join" the distributed objects, I want to leave them as dynamic as possible (so I prefer modifier-like solutions), but I also want blender to treat them as one mesh-object, just like the Array-modifier would do, when I click on the merge checkbox. So when I add a Subdivision-modifier to my object it will look like this: 





NOTE:

The sample object I provided here is a simplified object of the one I'm going to use for this purpose: so the Wireframe-modifier and the Skin-modifier is not an option in my case. Also distributing with a hexagonal grid particle system or duplicate object to vertices of a parent object are not options, since the "final" object won't be "merged" as a single one.

Thanks in advance!
There is an even easier/faster solution than the one @CharlesL provided (Although some steps are identical) :

Create only 4/6 of the &quot;cell&quot; by using an Array-modifier and an Empty-object rotated by 60°:


Then add another Array and distribute objects on the x direction by the Relative Offset:


And last but not least, add another Array and distribute the result of the previous modifier on the y direction by the Relative Offset 1:



Of course the merge option checked in all three of the Array-modifiers.
And the result is a lighter and better version of the hexagonal array creation, plus, the result has more beautiful &quot;edges&quot;.