Puzzle Cube (Randomly Generated with Python)

Puzzle Cube (Randomly Generated with Python)

Description

I wrote this code as an exercise in procedurally generating 3D-printable objects. The algorithm creates six pieces that fit together to form a cube. Since the puzzle is randomly generated, even the puzzle’s creator can have the satisfaction of solving it for themselves! For a full description of the algorithm, see [the blog post](https://jameskeal.com.au/procedurally-generating-puzzles-with-openscad-and-python). ### Requirements First install [SolidPython](https://github.com/SolidCode/SolidPython) and [Numpy](https://numpy.org/): ``` pip install solidpython numpy ``` ### Usage To run the script: ``` python puzzle_cube.py [--size SIZE] [--shape X Y Z] [--stl] ``` Optional arguments: - *size* — The size-length of a single cell in the puzzle. Default: 10 mm. - *shape* — The dimensions of the puzzle. Default: (4, 4, 4) - *stl* — Attempt to generate STL rather than SCAD files. (Requires [OpenSCAD](https://www.openscad.org/)) For example: ``` python puzzle_cube.py --size 10 --shape 4 4 4 --stl ``` A puzzle produced with these settings is provided. Enjoy :) ### Contributing To contribute, see [the Github repo](https://github.com/keeeal/puzzle-cube).

Statistics

Likes

9

Downloads

0

Category

Puzzles