Thanks for your interest in my design efforts. I’ve learned a lot about how this method works and how it applies to my design goals of 3D printing. As one might expect, it’s more complicated than it seems. I’ll try to explain several discoveries I made:
Here is a link to my first printed part using this method: WiggleBowl1
The description tells about an unexpected (at least by me) consequence of this geometry: it is so curvy that the resulting STL mesh is so complex my slicer (PrusaSlicer) warned that it may have trouble producing the required GCode. I had never seen this warning message before, so I let it simplify the STL file using it’s default parameters. This sliced and printed fine and looks OK, but the outside surface showed definite faceting that I knew wasn’t really there.
My second attempt produced this:
It is more of a vase shape because I wanted something that could be used for flowers or peacock feathers (that’s another story). I did not post this one online because the STL file size (334 MB) is larger than Thingiverse accepts, but I printed it anyway. For this one I did not accept PrusaSlicer’s offer to simplify the STL file. PrusaSlicer sliced it just fine and it printed in 16.25 hrs and did not have the surface faceting of the first print.
If you are interested, here’s the link to the STL file: WigglyBowl2
Overall I’d say this design method isn’t well suited to the kind of 3D printing I do because it produces such large STL files. It might be better to use it for smaller objects, but I tend to do larger ones.
About the actual design methodology:
The key to this method is the use of non-overlapping circles that surround the endpoints of lines connecting the points of a divided circle. Kangaroo uses some sort of iterative process to adjust these points based on some user supplied input parameters. Prior to this I had never used any part of Kangaroo, so I knew nothing about how it works or what it does. Nevertheless I was able to simplify the GH script inno pointed out a sufficient amount to enable me to get a decent (pretty) control curve.
Once I had one curve it was a fairly simple matter to use a standard technique I developed long ago to stack up a bunch of these curves scaled to different values, Loft them to get a nice looking outside surface, and then add 3D thickness and a solid bottom to make a printable vase shape.
wigglybowl.gh (43.1 KB)
The top left area is where the magic happens. I call it magic because I don’t really understand what the StepSolver component does, or how it does whatever that is. But that’s OK for me because I’m only interested in the end result.
The bottom part of the GH file makes the solid shape of the drinking glass I used that fits inside the print. To use WigglyVase2 for plants requires watering them, and 3D prints are not water tight, so the plants would be planted inside the glass.
I reckon this is more info than you bargained for - but feel free to ask any questions. And I hope I haven’t insulted the people who actually use Kangaroo for real work. I get that it’s way beyond my needs.