Create 3D voronoi in irregular volume

Hello everyone!

I am trying to create a 3D voronoi inside my ‘snake’ volume.
With the help of some of you I managed to isolate points inside my volume, but if i want to use 3D voronoi it always uses the edges of the bounding box around my volume.

Anyone has an idea for a solution?

3D model_2.3dm (387.6 KB)

points in (4.1 KB)

1 Like

Something like this may work… (15.4 KB)


1 Like

thank you very much for your hulp!
I’ll check the script later today when I’m back home, but it looks good!

Do I need any plugins?

Nope, all basic Grasshopper, no plug-ins. --Mitch


Thanks! Tested the grasshopper script and it works :slight_smile: !

1 Like

I have been trying to do something very similar. But I am having trouble getting the skeleton of the 3D Voronoi.

Other sources show that you should scale down each cell face and then use that face to trim the outside in order to get the skeleton. However, when I scale them, I am unable to create a trimming surface because my 3D Voronoi now has planar curves instead of all lines.

Here’s the file. (83.3 KB)

Any suggestions?

it’s 2022 and I have the same issue. Not sure how to get just the skeleton of the 3D Voronoi. Anyone can provide some directions? I’ve been searching on google 5 hours ago and couldn’t find a workable solution.

1 Like

Same here, been looking for this for 3 full days, 30 hours or so, how to make a 3d skeleton adjustable thickness and density voronoi from whatever volume. Not one single example actually really works… I have probably ten addons installed, this is so incredibly complex. To me. Ive downloaded 20-30 .gh that are supposed to do this but every single time theres something that does not work…

You don’t really need any add-ons to do this. Can you post a Rhino file of your object?

Thanks for looking at this! I want it to work with just any 3d shape that is not a cube, i’m trying with a basic dounut at the moment to understand the code… in the end i want to be able to make a subd organic shape, assign it to the geometry input, and then get a printable 3d voronoi skeleton from it.

here is ny screen at the moment, im trying multipipe wich seems great because of all the easy adjustments. the dounut now has points outside of it and lines go through its centre. how can i make the pipes appear only inside and on the surface of my (dounut) 3d object?

Post your file please.

1 Like (8.9 KB)

It doesnt seem to care about any shape that is not a cube

@erik5 see if this helps (15.1 KB)

Hello guys, i have a similar problem right here. I have to do some kind of a bone structure for my master’s degree work. The problem is, i have to use a lot of point (300-400) in small area (30mm x 30mm x 30mm), and when i am using multipipe tool, i get a lot of trouble, because structure move out from the box. I can show you a photo. look:

Do you have some advice for me?

1 Like

Or maybe do you know some better tool than multipipe, to do things like that

Advice #1: Post your file with the relevant geometry internalised :slight_smile:


you mean, my .gh file? Here it is (7.8 KB)

Yes, Grasshopper file…

The problem your facing are duplicates and short segments. A quick way to eliminate short segments is by culling duplicate points up to a certain tolerance. I’m not sure whether it is really necessary to cull duplicate lines but I think it’s always better to provide clean / correct inputs. (14.6 KB)


Oh, nice it’s really help, but what if i want to initialize for example 500 points and the problem will still happening? Maybe it’s just impossible to make this number of points.