You can create a manifold hex grid using 3 array modifiers and skin modifier:
Add circle:
- Add a mesh circle (Add --> Mesh --> Circle).
- Change the number of vertices to 6.
- Don't scale the circle just yet.
Add the first array modifier:
- Set the count (I used 17 units)
- Use a relative offset in X, and set it to 1.0
- Check the Merge option.
Add another array modifier:
- In relative offset - in X:
- Set the value to 0.5 / previous_array_modifiers_count
(example, if we had 17 repeats in the previous array, the value is 0.5 / 17 = 0.029)
- In Y: 0.75
- Check the Merge option.
Add the third and last array modifier:
- In relative offset - in X: 0
- In Y: 0.857
- Check the Merge option.
If you want, you can apply the array modifiers in order, then go to edit mode (Tab) and remove doubles (W --> Remove Doubles).
Add a skin modifier, then a subsurf modifier to add thickness and smooth out the geometry.
In Edit Mode, select all vertices and set the Mean Radius X and Y to 0.1:
You can Apply the Skin and Subsurf modifiers as well if you'd like (will speed things up but will prevent you from making easy changes later if you want).
This mesh is manifold and can be intersected with other meshes via Boolean Modifier, even while still parametric with all the modifiers still unapplied: