Puzzlecad

Puzzlecad is an OpenSCAD library for modeling mechanical puzzles. It's used in most of the models on this site. This page will be used for updates and related puzzlecad documentation; for an overview of how to get started using puzzlecad, see the Puzzle Modeling tutorial.

What's New in Version 2.2?

Puzzlecad version 2.2 (released 11 March 2021) brings several improvements:

A new packing_box module

The major new feature is a packing_box module for easy modeling of packing puzzle boxes. A thatched pattern is used to create semi-transparency. The packing_box module is described in detail in the puzzlecad-examples.scad file bundled with puzzlecad. Here's one example:

packing_box([

"xxxxx|xxxxx|xxxxx|xxxxx|xxxxx",

"xxxxx|x...x|x...x|x...x|xxxxx",

"xxxxx|x...x|x...x|x...x|xxxxx",

"xxxxx|x...x|x...x|x...x|xxxxx",

"xxxxx|x+..x|x+++x|x+++x|xxxxx"

], $burr_scale = 17, $box_wall_thickness = 6, $auto_layout = true);

A few new convenience options

  • The components annotation for diagonal geometry has a new "slice" component for conveniently specifying half-cubes sliced along a diagonal axis.
    burr_piece("x{components=sx-z-}");

  • Labels can now specify a custom font with the label_font annotation. Thanks to Tom Burns for contributing this feature.
    burr_piece("xxx{label_text=puzzlecad,label_orient=z+x+,label_font=Arial}xx");

See puzzlecad-examples.scad for details on the new features.

Removed spurious warnings with OpenSCAD 2021.01

Puzzlecad is now fully compatible with OpenSCAD 2021.01.