puzzlecad
puzzlecad is a software library for modeling 3D printable interlocking puzzles. It translates simple expressions describing the geometry of puzzle pieces, such as this:
burr_piece("xxx|.x.");
into fully rendered models for 3D printing. puzzlecad has a rich feature set for designing puzzles with a variety of geometries and customizing their appearance.
To download the latest official distribution of puzzlecad, visit the Thingiverse page:
https://www.thingiverse.com/thing:3198014
The puzzlecad github repository also hosts the Printable Puzzle Project, an initiative to make available open-source models of many mechanical puzzle designs. You can read more about the Printable Puzzle Project here:
For a tutorial to help you get started with puzzlecad, check out the "Introduction to Puzzle Modeling" tutorial: