Blizzard of Unique Snowflakes

by laird, published

Blizzard of Unique Snowflakes by laird Dec 11, 2012

Featured Thing!


Snowflakes are unique. So why not be able to generate and print unique snowflakes? I've seen a snowflake generator that generates gcode, but I wanted one that generated 3D geometry, which I could then slice and print, so I wrote one.

The code is a bit strange, as OpenSCAD doesn't support recursion, and barely supports arrays. But with persistence I think I've come up with something pretty cool.

I've uploaded 8 ready-to-print snowflakes! And you can generate all you like!

So let's make a million unique snowflakes!

Inspired by (though no code from) Dave Menninger's Parametric Snowflakes.

Updated: added bash script to generate a blizzard of snowflakes, and modified script to run with proper randomness.

Updated: created thingiverse.com/thing:40959 which is Customizable.

Recent Comments

view all

I figured out how to turn snowflakes into very nice holiday ornaments, which print quickly and look nifty. Check 'em out! http://www.thingiverse.com/thi...

OK, I've finally gotten around to PySCAD, and it's fantastic! Thanks for pointing me towards it.

Featured? Cool!

More from 2D Art

view more


Liked By

view all


Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag


Print the STL files. Slice them at layer height 0.25mm or less (the thinnest part of the snowflakes is just over 0.5mm, so 0.25mm gives you two layers). I use 3 shells, because that looks nice to me.

To generate unique snowflakes, load the script into OpenSCAD. Every time you change the 'seed' and run it, it will generate a unique 3D snowflake. Export the ones you like as STL files and print them. And upload photo's, so that we can all appreciate a 'blizzard' of unique snowflakes.

Or download the bash file, and generate a 'blizzard' of snowflakes automatically!


You must be logged in to post a comment.

laird on Nov 27, 2013 said:

I figured out how to turn snowflakes into very nice holiday ornaments, which print quickly and look nifty. Check 'em out! http://www.thingiverse.com/thi...

laird on Mar 3, 2013 said:

Featured? Cool!

laird on Jan 10, 2013 said:

Fixed a minor bug. Deleted old versions of the script.

roman_hegglin on Dec 12, 2012 said:

To use recursion in OpenSCAD, you can try these two workarounds:

Workaround in C: OpenCSCAD


Workaround in Python:

PyOpenSCAD http://www.thingiverse.com/thi...

laird on Dec 12, 2012 said:

PyOpenSCAD is tempting. I've used it a little, and it was a bit awkward writing Python to generate SCAD files, then running OpenSCAD to generate STL, then loading STL into ReplicatorG to print. But it just occurred to me that the Python script could render the SCAD file, then run it through OpenSCAD command line, then open it into ReplicatorG, making the whole process painless for users.


roman_hegglin on Dec 12, 2012 said:

Excellent work and what great idea!

laird on Dec 13, 2012 said:


GoolGaul on Dec 12, 2012 said:

nice work.  I have been generating snowflakes on my Laptop PC.  takes about 5 minutes each.  I just have it running in the background.

I'd say 2-3 out of 10 nice, and 1 of ten are really outstanding...

laird on Dec 12, 2012 said:

Excellent! I look forward to seeing the results.

laird on Dec 12, 2012 said:

Whipped up a little bash script that generates a blizzard of snowflakes. It runs on a command line (e.g. "bash blizzard"). Which is fun to type even aside from scripting generation of zillions of snowflakes.

blizzard:#!/bin/bashfor i in `seq 1 1000`;do        /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -o snowflake-$i.stl ~/Desktop/snowflake.scaddone

laird on Dec 11, 2012 said:

The script can generate some rather complex shapes. It's pretty amusing to me how 3K of OpenSCAD code can generate 2 MB STL files. Still, it shouldn't "kill" OpenSCAD, just make it work hard. I've run the script on both a Windows PC and a Mac, and it ran, though it did take a few minutes to compile the geometry, during which time OpenSCAD consumed 98% of my computer's CPU. I'd suggest letting it run for 5 minutes to see if it comes back.

But I'll generate a few more snowflakes to see what happens.

yzorg on Dec 11, 2012 said:

your script kills my openscad... dont know why.
i have to take some of your stl

laird on Dec 12, 2012 said:

I've generated a dozen snowflakes, and printed them, using both a Mac and PC, so I think the script works.

When you say that the script "kills" OpenSCAD, what do you mean? Is it slow? Crashing?