One of the distinctive features of the Gathering for Gardner, a recreational mathematics conference which I will be attending next week, is the Gift Exchange. One is encouraged to provide enough copies of a gift for everyone who is participating in the exchange. Then, at the end of the conference, everyone gets a big bag containing one of each of the gifts. One may, in lieu of a physical item, write a paper to be included in a book that is printed up, and pay one's share of the printing cost. This is what I had to do last time, since I got my invitation to the conference with less than three weeks' notice. (I suspect that this was a side effect of the centrality of the gift exchange to the conference: since everyone made X gifts, it'd really suck if they didn't all get given. And when the number of attendees doesn't come up to the number of gifts, they have to scramble madly to find more attendees at the last minute.)
Anyway, this time around, I came up with a really nice idea for a puzzle to make as a gift for the exchange. And then sat on it for a while, because I was busy with grad school. And then sat on it longer, because, well, procrastination happens. And then, oops, it was seriously time to not sit on it any longer.
My exchange gift is a puzzle consisting of ten skinny rectangular pieces that slot together to make a ten pointed star. The mathematically nifty thing about it is that there are two possible positions for each slot, and the pieces can flip; effectively the slot patterns can be specified by four digit binary strings that are reversible, (so that, e.g., 0011 and 1100 are equivalent.) There are exactly ten such strings, and each of the ten is represented once in the set of puzzle pieces. (There will be a blog post about the puzzle's particulars on my puzzle blog at some point, I promise.)
I knew that I wanted to use clear acrylic for the puzzles, on account of it being cheap, shiny, and lasercuttable. It took me longer than I expected to get from the idea to a cuttable drawing. First there was some trig and algebra needed to determine the proper position and width of the slots. (High school math: actually useful!) While I have drawn up puzzles for lasercutting in Inkscape in the past, this was a case where I had a lot of parameters that I wanted to be able to tweak, so it made more sense to write a program to output the drawing. I used the Cairo vector graphics library, and Python.
I ended up going with Ponoko for the cutting. Being able to upload a file and get a quote immediately was very nice given the tight time frame I was on, as was the fact that they were in California, and therefore normal shipping would only take two days. (And there would be two shipping cycles, one for the prototype and one for the final version.) And the price looked okay, although I don't have a lot of data points there. With a Ponoko Prime membership, cutting is about 1/3 off. The break point where this starts to look good is about $100; I was way over that, so it was a gimme. (Also, Prime jobs are expedited compared to non-Prime jobs, which was nice given I was in a hurry. Earlier in the month there was a 20% off deal on non-Prime lasercutting costs; It looks to me like the best thing to do if you have something not at all urgent to make is just to wait for a sale. (Also, in the lessons learned department: remembering to cancel your Prime account after you are done with it is important. Oops. Maybe I'll make a few more things this month with it while I have it still.)
So I had the prototype made, and it came out basically perfect. Perhaps just a smidge too tight, so I tweaked one parameter very slightly for the final version, and put in the order.
Ponoko says that you can request them to have your order by a specific date and they'll see what they can do, so I did that, and they did in fact ship it on the date that I said pretty please ship it by, so go them. They even called me a bit earlier, worried that I'd wanted to receive it by that date rather than have it sent by that date, and they had only enough stock of the material on hand to do half my order. (Lesson learned: you can clear them out of a material with a large order. Good to know.) In retrospect, I should have had them send the order in two parts, which they seemed on the verge of offering to do, just to have more time for the post-processing.
When I received the final order, a number of pieces were loose, and a couple of them were broken. This appears to be entirely Ponoko's fault, rather than the shipper's, so boo them. That said, I had unknowingly set them a somewhat unreasonable task there, by ordering an odd number of sheets of a thin material with a very large number of very small pieces on each sheet. The significance of the odd number is that their P2 size appears to be half of the size of a full sized sheet, so an order of multiple P2's is shipped as a number of full sized sheets, plus, in the case of an odd order, one half sized sheet. The loose and broken pieces were all from the odd sheet out. There was a cardboard spacer on the other side of the box to balance out the odd sheet, but it apparently wasn't quite the right thickness. It really probably didn't help that my order was in 2.0 mm acrylic, which they only offer in clear, and which, apparently, isn't a big enough seller to keep a lot of stock of it on hand. It did have to be 2.0 mm, though. Any thinner would have been too fragile, and any thicker would have been prohibitive in terms of cost. (Not only would the thicker material have been more expensive to cut, but the pieces would have had to have been made wider to accommodate the wider slots.
Now all that was left was the post-processing. And here is the real lesson learned: DO NOT ASSUME ANY TASK IS TRIVIAL IF YOU HAVE TO REPEAT IT HUNDREDS OF TIMES.
The order arrived with backing film on both sides. 400 puzzles. Ten pieces per puzzle. Two sides per piece. 8000 bits of backing film that needed to be peeled off. I gave myself a day and a half for that. Not on the basis of any calculation, just a vague feeling that it shouldn't take too long. Four and a half days later, I finished making the sets and sent them off. I roped in
algeh to put insert sheets in the bags: again, a task I thought would be trivial, but when multiplied by a few hundred, took several hours. (There was one set that was missing a piece, so she was also counting pieces in the sets to find the one with the missing piece, which mad it take longer. Another lesson learned here is that I should have started looking for the one with the missing piece immediately after I found the wayward piece, rather than allowing it to get buried in the pile.
I spot checked a few of the sets for fit as I was peeling. Most turned out perfect, only one was a little loose.
Until I got to the troublesome odd sheet out. I wondered if the pieces falling out had to to with the kerf being slightly wider on that sheet, so I spot checked a few, and they were all pretty loose. Loose fit doesn't make the puzzle any less solvable as a puzzle, but it does make the completed puzzle fall apart, (literally) as an objet d'art. I can't tell if the kerf was actually any different on that sheet, but I could see that the material was visibly thinner on that sheet than in the prototype, which has the same effect. Lesson learned: Ponoko is actually not kidding when they warn that material thicknesses can vary by ±10%. It's not that I thought that they were kidding so much as I thought they were covering their asses in the remote event of thickness variance that was actually vanishingly unlikely. In the future I should make sure that I am allowed to adjust my drawing to the material thickness if the available material varies significantly from the stated thickness.
Still, in the main, the project appears to have been a success. I only needed to use half of the problematic sheet, which works out to 4% of the puzzle copies. Hopefully, nearly all of the rest should be reasonably tight, and hopefully the other attendees will like the puzzle.