Hexagonal grid (side of hexagons)

Hi, everyone.

I would like to design a catalyst like the one in the picture. With the following parameters: Cylinder length, Cylinder diameter, Cylinder wall thickness, Hexagon side dimensions and Hexagon thickness.

I drew using Hexagonal cells, however, I cannot insert the dimension parameter of the side of the hexagons.

Does anyone have any suggestions on the best way to do this?

STL_PROFESSOR-r1.gh (19.3 KB)


I see no hexagons? Looks like squares to me.

Sorry, Joseph. I used LunchBox plug-in to creat the hexagonos.

I was referring to your image which shows squares, not hexagons:

Is an example of the part, but the internal part I’m trying to insert hexagons.

Hi @carol.girotti

Here your file

STL_PROFESSOR-r1.gh (17.0 KB)

1 Like

thanks, Erik . You helped me a lot

My approach with native components and filleted edges:

hex_tube.gh (20.6 KB)



I saw your profile and I liked it a lot. I also climb and imagine that a boulder wall drawn in grasshopper must look amazing.

Thanks :slight_smile:

The advantage of my climbing wall algorithms in Grasshopper is not primarily for the looks but rather efficient adaptability, creation of geometry for rendering and cnc fabrication.

1 Like

No plugins. Very slow when the number of hexagons inside the circle gets large (as happens when the cylinder diameter is doubled, for example).
UPDATE: minor fix.

catalyst_2022Dec13aa.gh (24.5 KB)


uou. thank you, Joseph.

Hi Martin - when I looked at your GH file I saw your use of the EdgesCVX/FilletEdge combination, which is exactly what I frequently use for my 3D printing designs. So I took the liberty of tweaking your file a bit and realized that there was something unusual (for me) going on that I don’t understand. My confusion is about the Geo1 and Geo2 components you see here:

They are both Closed Breps (which is what I always try to get for 3D printing), but they are not the same geometry. The reason, of course, is that FMerge does something that SUnion does not. Up to now I’ve always used SUnion as the input to the fillet routines, but it’s clear your combination is a much better approach.

What I don’t understand is why this is - I had thought that SUnion made a nice, single, solid object that would produce an error-free STL when I exported it. But in this case the SUnion needs to be followed by FMerge. So is it true that I should always use this combination rather than SUnion alone? Maybe the fact that I haven’t been doing this is why, depending on the specific geometry involved, SUnion results in STL errors after I export from Rhino.

hex_tube-bb1.gh (22.0 KB)

FMerge or Merge Faces merges all co-planar faces.

Yes, that makes perfect sense. What I didn’t realize was that SUnion alone does not do this. I had thought that the concept of merging faces was something done only with meshes. Thanks for your clarification - I’m sure it will save me some troubles in the future.

1 Like

Hi @martinsiegrist

Here a more simplified version of your script. Thank you for sharing it.

hex_tube.gh (12.3 KB)

Final solution
profess-test3.gh (22.0 KB)