How to apply voronoi to 3D surface equally?

Hi all,

I’m relatively new at Grasshopper and working on an external wall study. I’m struggling to figure out how to apply the voronoi equally across the surface

I’m aiming to apply bigger openings at the base, and gradually smaller openings towards the top of the surface / smaller openings mid section to virtually no holes at the top (as shown in example image below)

Any advice would be greatly appreciated. Thank you

External Wall (11.5 KB)
External Wall Study.3dm (1.4 MB)

probably Populate Geometry directly on your surface gives a better result (also in general terms of point distribution):

regarding the gradient openings, you want them to be just scaled down, depending on ther Z value, like this?

[drag these points around in the graph area]

External Wall (26.3 KB)

the alternative is to increase the density of points along the height of the surface, in such a way the Voronoi will output more cells, which are also smaller, and then cull some of them based on some variable (maybe height) and this might be a bit more difficult to achieve… :slight_smile:


I adapted some old code from here to create a gradient Voronoi on your surface:

It doesn’t address the issue of fading to zero holes near the top but perhaps is food for thought? I barely remember how it works. The disabled purple group uses the loft method you used but I think cutting holes in this surface looks better, even though it’s extremely slow (11 secs.). It’s much faster using the pulled PLine instead of the pulled Nurbs curves.

External Wall (31.2 KB)


wow, this literally blew my mind :exploding_head:

the fading to zero might be accomplished by probability, found this interesting discussion in the old forum

and might translate into something like this, where white points are the remaining ones after the culling

External Wall (35.7 KB)