enso is a program to help manipulate abstract puzzle designs into physical puzzles.

In other words it will help automate the conversion of xmpuzzle files into SCAD files for 3D Printing.

beforeafter

enso will read in puzzle definitions from Andreas Röver's Burr Tools in the xmpuzzle format.

enso will then automatically convert the shapes into puzzlecad format, and if necessary rotate and/or cut each shape into smaller shapes with snap-joints, so that it can be printed with minimal or zero support material.

enso will output OpenSCAD files which reference Aaron Siegel's excellent Puzzlecad library to do the final rendering as an STL.

Where does enso fit into my puzzle printing workflow?

Downloads:

Windows zip 90K
Linux / macOS tar.gz 90K
Executable JAR jar 94K
Source Code (GPLv3) zip 104K

Pre-Requisites:

You need at least a Java 8 Runtime or higher, try running 'java -version' to see if it is installed already.

for example you can install either Windows OpenJDK 11 (Corretto) or Mac/Linux Java Runtimes or from packages in your operating system.

Download the puzzlecad.scad file from inside the zip at Puzzlecad

Install OpenSCAD if you don't already have it

Installation:

Download the enso zip or tar.gz file

Unpack the file to a folder on your computer (e.g. "C:\enso\" on Windows or ~/bin/enso/ on Linux)

Add the bin folder to your system path (e.g. PATH=%PATH%;C:\enso\enso-1.0.2\bin) or just run enso directly (e.g. using an alias or soft link)

Verify it is installed correctly, by typing

enso --help

Windows 10 setup:

In the cortana search box type ‘system env’ and hit return

It should bring up ‘system properties’

Click ‘environment variables’ button at the bottom

Then in the bottom window you should see a number of variables in a list

Double click ‘Path’

Double click the first available slot

And type in something like ...

C:\enso\enso-1.0.2\bin

(Depending on where you unzipped it)

Then click ok

And ‘ok’

And ‘ok’

You can then open windows command prompt

E.g type ‘cmd’ in cortana search

Then type ‘enso’

Hopefully you see the options

Example Usage:

$ enso Chronos.xmpuzzle
    saves the 'Chronos' puzzle file as multiple CAD files
    (one per shape) in the current folder with default options.

$ enso -S4.0 Chronos.xmpuzzle
    saves each file with small 4.0mm voxel size

$ enso --single Chronos.xmpuzzle
    saves as one CAD file with all shapes in the same file

$ enso -r7,9 Chronos.xmpuzzle
    saves CAD files but it does not try and
    rotate pieces 7 or 9, even if they would print better

$ enso -o Rayner Chronos.xmpuzzle
    saves CAD files with different prefix to
    the source file (e.g. Rayner-P1-S02.scad)

$ enso --help
    shows you all the options available, including advanced
    features not mentioned on this webpage.

How to use the 'scad' files this program outputs:

and then run:
$ openscad -o Chronos.stl Chronos-all-P1.scad
    This will convert your scad file into an STL file,
    ready for opening in your 3d printer software.

To convert multiple scad files at the same time in Windows, you can run this at the Command Prompt:

FOR %%f in (*.scad) DO openscad.com -o "%%~nf.stl" "%%f"

To convert multiple scad files at the same time in Linux or MacOS you can do the following:

$ for f in *.scad; do openscad -o ${f%.scad}.stl $f; done

News

28 Apr 2019Version 1.0.2 released - minor improvements
  • added shape labels (a.k.a. shape names) to the output files, when available
  • removed default bevel, inset and scale values
22 Apr 2019Version 1.0.1 released - minor improvement
  • updated scale to match default Puzzlecad scale
21 Apr 2019Version 1.0.0 released

Source code

The source code for enso is licensed under the GPLv3 which means you are free to use it under those terms. The latest source code is available at github.com/jeremyrayner/enso

Authors

Jeremy Rayner - Initial work - @j6wbs

License

This project is licensed under the GNU GPLv3 License - see the GPLv3 License for details

Acknowledgments

Thanks to Andreas Röver for the amazing Burr Tools

Thanks to Aaron Siegel for creating the wonderful Puzzlecad, which you can read more about here

Thanks also to Richard Gain and Derek Bosch for their help and inspiration in 3D printing.

Thanks to Alfons Eyckmans, Brian Menold and Guy Brette for making my puzzle designs in wood.

Everyone at the Camden Puzzle Party and Midlands Puzzle Party, for their warm welcome and fun times.

Everyone at the Puzzle Photography and Puzzle Friends groups on Facebook.

Thanks to Clair and Charlie for their indefatigable support and enthusiasm.

Have fun!

 

Please email any questions about enso to