Huge circular Victoria Amazonica lilly leaf pattern

Hi Laurent,

Thank you, that looks great. Light years better than my attempts!
I’ll need some time now to figure out how your definitions work, and then add the ribs etc.
My goal is to try some cnc fabrication, not yet sure what with, laser cutter, mill, 3d printer…

here an awful script to do that

There are many logics it it.
First generate the pattern

The division of curves uses the equation here

but the equation is false
it is A(n) = 5 * 2 * n -2
The curve Network is smoothed (my equation) not sure it will stay long on this forum.

Upper part is used the make the ribs
Main logic is to extract inner parts, measure their lengths and cut them in quite equal lengths parts

The whole other part is using Dendro, transforming everything to points, moving points the make heights, putting good radius …


Great work Laurent


Hi Laurent,

That looks fabulous, exactly right. Thank you again.

I think the time has come when I’ll finally need to upgrade from Rhino 5 because I tried Pufferfish once before and it doesn’t like 5.
I think there’s a C+ component in there somewhere as well ldtils?

I can’t wait to try making one now!

Hei Laurent,

Is it the grasshopper definition still available?

I cannot find it anywhere.

1 Like

the complete script is not available. You can recreate the script from what is published (less than 20 components). The only tricky part is to smooth the polylines, it is classical Catmull & Clark for polylines but I don’t know if there is an available script (I don’t give nor sell mine).

Chaikin’s algorithm?

2022-02-20 17-24-25.2022-02-20 17_25_43

Or cubic curve subdivision?


It is cubic curve subdivision, but it works with network of curves.

So it gives the skeleton of Fatten +Catmull-Clark Subdivision

This was way easier to implement than I first thought. :slight_smile:


I used a directed graph to keep track of the lines. It’s cubic subdivision to smooth the line network, like in your example.

1 Like

@diff-arch - check this thread where we were just talking about this topic again recently:

1 Like

Cool you have done it. Did you test Chaikin way ? Yes it is quite simple so it is a bit strange it is not in a plugin. I have no the courage to make plugins for people that complains so much on free stuff.

I tested Chaikin on polylines, but not on line networks yet.


The main differences between the two subdivision methods are that Chaikin’s algorithm (mauve) cuts corners and doesn’t shrink as much, whereas cubic subdivision (green) preserves a smoothed corner vertex and overall shrinks the curve a little.


Chaikin’s algorithm (2 levels):

Cubic subdivision (2 levels):


Now with face detection/recovery for planar, smoothed line graphs.


Hey Laurent! How did you divided the inner parts? Can you help me a bit? :slight_smile:

Thank you in advance

Measure the min and max radius of each inner part, dependind on the step you choose, divide the inner part in N parts N = (int)((radius max- radius min)/step)

And now you can smooth the curve network with 2 components from Nautilus

1 Like

thank you! At the moment I have created a surface from the starting circle and splitted the surface with the cells. Is there a topic where someone explains how to measure the min and max radius of the parts? Cheers!

Just measure the distance (radius) between center and all the points of the surface/brep/mesh … and then search for Min Max !

I think I got it, and should I use the divide surface component to divide the inner parts?

I surely used split surface and I splitted with lines.