Modeling Perforated Spheres with Controlled Hole Spacing in Grasshopper

Hi Everyone,

I’m a beginner in Grasshopper and am trying to figure out how to model a coral-like sphere for 3D printing, similar to the one in the first image below. I’ve been using ChatGPT for guidance, but I’m feeling a bit stuck and hoping to get clarification here on the best approach to build the definition properly.

What I’d like to create is a sphere with:

  • A flexible number of holes (I’d like to control this as a parameter),
  • Varying hole sizes (randomized, but within a controlled range),
  • And minimum spacing between holes so they don’t overlap.

I’ve attached some reference image to show what I’m aiming for, and the definition I put togetehr so far. Could anyone please help me with tips, guidance, or examples on how to approach this in Grasshopper?

Thank you so much for your time and help!


There are a few examples on this forum. Look for circle packing…

Here’s one:

And another nice video by @danielpiker:

1 Like

@Brian_A_Tseng-Nicode wants an assortment of sizes, eh? The circles on the golf ball were all the same size.

https://discourse.mcneel.com/search?q=circle%20packing%20various%20sizes

2 Likes

Hello
you can generate spheres holes using this script

In order to have initial points, generate a convex hull with random point at the surface of the sphere. You can use Populate Geometry then Convex Hull (not sure it is on Rhino 7 but there are others tools for convex hull)


Or a less good tool (Populate Randomly from Nautilus), as it is more random spheres will have more different radiuses.

Then make all the circles/spheres a little smaller, then cut the sphere with sphere and a base.
CompactCirclePackingOnSurfaceAnd Cut Sphere.gh (30.7 KB)

Nautilus plugin not mandatory.

3 Likes