# How I can solve the broken edges of Voronoi in grasshopper?

Hi
Could someone help me, please?
I sent this design for 3D printing, but it can not be printed because it has many broken edges and cracks.
How can this be solved, please?
Thank you in advance.

Post a Grasshopper file please

1 Like

Normal Voronoi 01 model.gh (14.9 KB)

There are a few problems. First of all you only placed points on the surface of the cylinder. This results in a lot of cells meeting somewhere on the axis of the cylinder. The cells have short edges which cause a lot of problematic intersections.

Second problem: duplicate edges. Every pipe was created twice.

What you could do: Add some points inside the cylinder. It leads to more uniform cell size:

I also used a slightly larger bounding box for the voronoi since it also improves the intersection. It creates cleaner intersections since the two sets of geometry overlap and never coincide.

You can remove duplicate curves, vertical curves and short segments and then finally create all pipeswith round ends. Instead of trying to solid union the NURBS pipes, create a single mesh and try to print this. A lot of 3D printing softwares can handle overlapping situations and there is no need to boolean everything into a single solid, unless you have other plans with it…

1 Like

Another common issue with three-dimensional Vornoi structures that is less easy to mitigate, are very small or tiny cell edges. If you attempt to thicken your curve network the strut thickness is often times limited by the length of the smallest edge in the network.
Unfortunately, this is the hardest part to fix, since you’d have to either plan your Vornoi pattern out from the get-go with neatly spaced and organized cells, or reshuffle the pattern after generating it, optimizing it in favour of larger face areas. Obviously both methods would mean that you’d lose some overall randomness.

1 Like

Thank you very much. But one question remains: can this (boolean toggle) solve these problems?

The boolean toggle input is not really a correct input for the pipe ends. You’d use a slider with a domain from 0 to 2. Yes your button outputs a ‘1’ but round ends are better since it creates less gaps at the pipe ends compared to flat ends. Creating a union of so many pieces will fail in most cases. It could be done using a loop but to be honest, I think it would only be a proof of concept and nothing more since a lot of print software can handle overlapping geometry.

As I wrote above, the result does not necessarily be unioned into one single object. If you need a single closed polysurface, for whatever reason, you will have to clean up your curve network, which can be done but is complicated.

Two useful topics on voronoi:

1 Like