Laser cut Voronoi boxes
Given a set of points, the Voronoi tessellation creates a set of convex polygons that each contain one point. They can also be used to randomly generate unique art pieces that cast shifting, lace-like shadows. This one was really quite beautiful until the candle burned through…
Read on for some scripts to make your own and tips for laser cutting them.
Making the box outline
The outline of the boxes can be generated with an online tool like MakerCase or my boxer script. For instance, to generate the above 40x40x40mm box (thing:39415) with 3mm thick plywood, using a laser kerf of 1/8mm:
./boxer --thickness 3 --width 40 --height 40 --length 40 --kerf 0.125 > box-40mm.svg
Larger parameters for --kerf make for a tighter fit. I recommend cutting a small box to verify the kerf settings for your laser cutter and material.
Creating the lace patterns
The technique scales from small boxes up to fairly large ones, although the parameters to lace-maker will need to be tweaked to ensure good density of points. Also be sure to keep in mind that the tabs from the other faces will intrude into each face, so the lace pattern can’t go all the way from edge to edge. In general I’ve found that leaving the thickness of the material plus 2 to 5mm of space on each side gives good results — this allows clearance for the tab material and some material for the structural edge. The sample box was 40mm on a side, so the lace pattern here is 40-6*2=28mm square.
./lace-maker -x 28 -y 28 -w 1 -n 20 > lace1.svg
The -w parameter is the trace thicnkess in mm — for wood I’ve typically used a minimum width of 1 to 2mm for the traces. Acrylic seems to be ok with thiner traces if you desire it, although it does become quite weak and flexible.
You’ll need to generate six lace svg files if you want each face to be unique. If you’re making a rectangular shape, be sure to generate two of each of the combination of edge lengths.
Sometimes you will get an error message “Bad polygons?“. If so, try reducing the number of polygons (the -n parameter) or re-running. Since the points are randomly chosen each run there is a chance that the current set might not be possible to fit with the current trace width.
If you prefer other space filling tesslations, I’ve also written circle-maker. It is a very different feel from the convex polygons.
Arrange and laser cut
Finally, load the box outline into Inkscape or Illustrator and then import each of the six lace files. Place them in the center of the faces and if you can designate a cut-order for the vectors, set it to cut the interior polygons first and then cut the box outline.
Be sure to use enough power to cut through — the lace panels aren’t very strong and you might snap them if you need to use force to finish the job. After a successful cut there will be a huge number of small voronoi polygons on the laser bed. Don’t forget to to vacuum up the detritus before you post photos of your awesome art projects!
If you need to learn how to use the laser, NYC Resistor offers classes on operating the laser cutter. Once you’ve taken the class you can come by on our open nights to work on your own projects.
A friend told me he was unable to use the commands you provide for the scripts (he is a new *nix user, so he tried to run them on multiple lines).
You could consider adding backslashes at the end of all lines but the last one.
It’s really cool! That’s mine box generated with your script: