Koch Snowflake Ornament
I wanted to make an ornament to give to relatives and friends this Christmas, like some crocheted ornaments I've received in the past. To make this feasible, I needed a quick-printing and relatively sturdy design. I also wanted something mathematically interesting.
Inspired by SimonFront's Koch Snowflake, especially the way that it used multiple iterations of the fractal to make a single design, I decided to rethink his design for spiralized printing on FDM printers.
They print very quickly, so make a lot and share them this Christmas! They should scale very easily in Cura, if you want a whole blizzard of various flakes.
Each object is a stack of Koch Snowflakes with different number of iterations from n to 1. For instance, "Koch 3" has 3 iterations on the bottom, 2 iterations in the middle, and 1 iteration on top. This gives the object a little bit of depth and interest, and also helps it keep its shape.
I printed these with glow-in-the-dark filament. "Koch 3" and "Koch 4" are pictured. It is easier to see the pattern in "Koch 3", but "Koch 4" looks more "fluffy", and so it is my custom Christmas ornament for this year. "Koch 5" is unlikely to work very well unless you scale it up or print with a smaller shell size. If you do make one, please share a photo!
For more information on the Koch Snowflake fractal, see Wikipedia:
Sliced with Cura, using the "Spiralize the outer contour" and "Only follow mesh surface" options. I used 0.8mm shell thickness, and 100% Initial layer line width.
I wrote the Koch Curve generation code in simple LOGO.
I converted that into a Python script that used the built-in turtle graphics module to draw the curves and export them as SVG files. Here's the graphical output of the script in action (with annotations and freeze frames for clarity): https://youtu.be/fxdeNtVfa2E
Using svg2pdf and pstoedit, I converted the SVG files to DXF that could be imported into OpenSCAD.
In OpenSCAD, I imported each DXF file in turn, fixed its aspect ratio, and extruded it to its proper height.
Since these print so quickly (6-7 minutes for "Koch 4", 3 minutes for "Koch 3"), I modified Cura's gcode to leave the extruder and bed heaters running at the end of a print. This allows me to make 6-8 "Koch 4" snowflakes per hour, depending on how quickly I get up to clear the bed, and how long Octoprint takes to reset after each print.
This does mean that I can't go too far away, as the printer won't cool down. I kept a second version of the gcode file that does shut down the heaters, and I use that for the last print in a series.
You are granted a Creative Commons Atribution-Non-Commercial-ShareAlike License.
If you upload your design to Thingiverse, please use the "Remix" feature.
If you upload your design elsewhere, please link to this page or pikaworx.com.
I reserve the right to negotiate special licensing.