Not sure if a 3D printer can handle the top layer or not. May need to print an angled base so this thing can be printed on an angle.
Instructions
Make one 3D hexagon face.
Cut the holes in the face (can cut any shape desired).
Make 11 copies (12 faces total).
Anchor whichever face you want to be the base.
Constrain the edges of the faces together: i) Constrain make one edge on the base coincident with one edge on the next face. ii) Constrain one edge from the base with one edge on third base and one edge from second face with one edge from third face. iii) Each additional face will only require you to constrain it to two edges that are already on the fixed part.
If you have a printer, print this thing! (I don't have one so let me know how it goes)