If you have a laser printer, you’ve got your Christmas presents sorted out. At least if your family likes jigsaw puzzles. The idea is very simple, laminate a photograph onto some laser-cuttable board, and then run the laser over the outline of the pieces. Bam! Instant puzzle.
The trick is generating the puzzle outline, and of course there’s an online application for that. It’s got options that let you customize the piece count and shapes, and then download the result as an SVG image.
Unfortunately, it’s closed-source and makes the pieces a little bit too uniform for our liking — many of the pieces have exactly the same shape as each other. Are you up to the challenge of writing a better one? We’d love to see it, because the idea of a simple puzzle overlay for laser cutters is too good. Help us get started with some brainstorming in the comments below. How do you go about generating meaningfully unique jigsaw edges algorithmically?
Once you’ve got the puzzle cut out, you can seal up the surface nicely, toss it in a box, and then you’ve got a personalized present. To put it together, we suggest an accompanying DIY pick-and-place tool. (And kudos to [Kristina] for the best headline of 2015 on that one!)
Thanks to Hackaday alum [George Graves] for the tip!
“many of the pieces have exactly the same shape as each other” isn’t that the whole idea of a puzzle (to make it difficult to assemble?)
The image overlay is where the complexity comes into the assembly.
I would like to try this but alas my laser cutter won’t be finished by christmas :(
500mmx500mm size is not cheep to build.
I haven’t looked at its default output, but if someone does want to try this, the code published here may serve as a good starting point:
https://github.com/Neon22/inkscape-jigsaw
I used the Inkscape plug-in by neon22 and it worked great. Used 1/8″ acrylic. All the pieces are different shapes. Turned out to be a pretty difficult puzzle to put together. Files are on github: https://github.com/Scott216/laser_puzzle.
For my first version I just laser etched the snowflakes in the acrylic, but there wasn’t enough contrast between the snowflake and clear acrylic. So for version 2 I covered the acrylic with painter’s tape, then etched the snowflakes through the tape and into the acrylic. So now I had a mask for spray painting. I used white spray paint to fill in all the snowflakes. After the paint dried I removed the painter’s tape and used the laser to cut out the puzzle pieces. I found that if I cut out the acrylic with the painted snowflakes facing down, I had less burning of the paint by the laser.
By definition, the borders are straight. Just start from one corner and make a random curve for the undefined edges of each piece. You will have 2 undefined edges for 1-1 till 1-[N-1] and the last piece in the row will have only one undefined edge. Repeat it for each row. The pieces in the last row (M) will have only one undefined edge each except the last one M-N which will be defined already. DONE!
Truly “Random curves” won’t work as expected.
I’m not a puzzle nut but even I can see there are different types of puzzles, different types of interlocks, and differences in quality.
Random curves would make your puzzle work like crap and be about as much fun to put together. Can you imagine the frustration levels when random curves results in huge sections of the puzzle coming apart because the user can’t interlock them properly?
I would probably design a point based system with a randomization algorithm to add variation in both the selection of the edge style and the minor shape of the edge. In essence, create a library of known good curves then add an algorithm to allow for deviations.
You can probably create a mathematical model of good curves, but that’s an area of math I have little experience in.
I remember when I got my first cnc I downloaded or was it online I used a guys puzzle generator. You could change different variables for size and shape etc. Here’s the link. It’s not English but easy to figure out.
http://roboticus.org/cnc-software/68-notice-cnc-puzzle-maker
Here’s a link to a cnc puzzle generator. It works awesome
http://roboticus.org/cnc-software/68-notice-cnc-puzzle-maker
As for writing your own puzzle creator, I would look into the eps file format and how the bezier curves work. There’s bound to be some libraries out there for reading, creating and writing them. Illustrator and inkscape and many other vector format accepting applications are out there to create gcode from that.
With bezier you only need 5 nodes and 8 control points. I would make a few template shapes with these nodes and control points and interpolate other shapes from these. I can imagine that you can parametrice the deviation from the standard shape to set the difficulty. Now it’s just a matter of randomizing the positions onto a grid that fits a photo, taking care of the aspect ratio, so scaling the grid to fit the photo or cropping the photo.
You can go all fancy with a non square puzzle by setting an arbitrary boundary shape, or even some holes in the puzzle like a donut shape.
Uhm. That would be a Laser-cut Puzzle.
my opensource inkscape plugin here:
https://inkscape.org/en/~Neon22/%E2%98%85lasercut-jigsaw
Here is a puzzle generator I wrote for a different purpose but it is pretty modular so it can serve as a starting point.
https://github.com/sonatsuer/puzzle-generator
What about the smell of burnt wood, and the char rubbing off on your fingers? Anyone have a good way around those? The laser cutter is a fantastic tool, but I can’t help but feel those uninitiated with lasers would be less than enthused with those aspects.
Could use Perspex (plexiglass)?
Getting a picture onto plexiglass… thinking those laser printable sheets that are released by water and slide onto the final plastic surface. Sometimes used to come with some ‘airfix’ model planes. Can’t remember what it is called, but it has been around for many many years.
Decals?
What a great idea! I’ve already got an idea I can use for my kids. I guess the hard part is getting the outline right? I’ll check out the app you have linked to. Thanks!
Have you tried a logistic curve with randomised parameters? I think this could work. I will explore it soon as I am hoping to start making my own puzzles in the near future (have to finish a beautiful 18000 pieces that has been on my table for quite a few months now).
Quick question, would laser cutting with reduced power work on making cardboard puzzles?
Many serious handcut jigsaws are semi-interlocking or not interlocking at all. Every piece is different, often cut along color boundaries, I’d be very interested in how to generate a cutting template based on an image, and be able to adjust it onscreen as an overlay before cutting.