Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.

Miracle Grue


This project is the basis for a new toolpathing engine to supplement skeinforge in the MakerBot/3D printer community. The engine is C++ based.


This project is laid out in the following directory tree (roughly)

  • documentation/ Documentation
  • configs/ Eclipse project, personal stuff
  • src/ Source Code for the project MiracleGrue
    • json-cpp/ library to read/write JSON text files (configuration)
    • mgl/ the Miracle-Grue library
    • the main file
    • unit_tests/ various test programs (using cppunit)
  • inputs/ Some stl input files for demo
  • test_cases/ unit test input and output files
  • site_scons build files for qt
  • submodule/
    • EzCppLog/
    • json-cpp/
    • libthing/
    • optionparser/
    • toolpathviz/

** miracle.config ** This is the default configuration file for Miracle-Grue. It contains information like the layer height, the nb of shells, and the infill pattern. When miracle-grue executes, it looks for a 'miracle.config' in the current directory, unless -c is used to specify a different config file.

** SConstruct ** This file contains instructions to build the project. It is the Makefile equivalent for the scons tool.

** ** This file contains a guide to install the tools on various platforms and compile the code (using scons instead of makefiles). Please read to get your hacking started.

** Running Miracle-Grue ** There are are few programs generated by the build:

*** bin/miracle-grue ***

this is the skein engine. It needs a config file (-c option) and a 3D model file

Usage: miracle-grue [OPTION] [FILE]

example: bin/miracle-grue c=my_print.config inputs/3D_Knot.stl

Options: c=[configuration file name](default looks for miracle.config in the current directory) f=[first layer height] l=[layer height] w=[layer width] t=[space between infill 'tubes'] s=[angle between slices for infill]

*** tests/xxxUnitTest ***

the tests directory contains unit test programs. The generated output for these tests is sent to the test_case directory.

You can’t perform that action at this time.