Skip to content
hugomatic edited this page Mar 23, 2012 · 6 revisions

Miracle-Grue is a command line tool. It uses the information included in miracle.config to and the specified 3D model STL file to generate the paths.

usage information

Invoking Miracle-Grue without arguments displays a usage message:

Makerbot Industries 2012

v 0.01 alpha

This program translates a 3d model file in STL format to GCODE toolpath for a 3D printer 
It also generates an OpenScad file for visualization

usage: miracle-grue [OPTIONS] STL FILE
options: 
  c=file.config : set the configuration file (default is local miracle.config)
  f=height : override the first layer height
  l=height : override the layer height
  w=height : override layer width
  t=width : override the infill grid width
  a=angle : override the infill grid inter slice angle (radians)
  -d : debug mode (creates scad files for each inset error)

Parameters are defined in the config file (miracle.config in the current working directory), and some of them can be overridden using the command line options. It is possible to a different config file (using the c= parameter option).

Examples

Simple invocation

bin/miracle_grue inputs/3D_Knot.stl

This command uses the miracle.config in the current directory while executing Miracle-Grue from the bin directory. The file inputs/3D_Knot.stl is being sliced and the resulting 3D_Knot.scad and 3D_Knot.gcode are generated in the current directory.

Using a different configuration file

The configuration file contains settings for the machine (position of endstops) as well as slicing parameters. For example, if you are using a Replicator and a Thing-O-Matic, you will need a configuration file for each one, because the end stops are positioned differently. Also, you may want to have a configuration for different layer heights or infill densities.

bin/miracle_grue c=fine.config inputs/3D_Knot.stl

Useful parameters in the configuration file

The configuration file is written in JSON. By editing the configuration file, you can control the slicing algorithm. Here are a few important parameters you can change:

  • Slicer.nbOfShells : the number of polygons for the exterior walls of each slice.
  • Slicer.firstLayerZ : the height of the nozzle for the first slice
  • Slicer.tubeSpacing : the distance between lines for the infill grid
  • Slicer.layerH : the layer height
  • Slicer.layerW : the layer width

Extrusion profiles

The configuration file contains a list of extrusion profiles (currently using the old feedrate and flow convention). They are in the extrusionProfiles list. Each extruder in the extruders list can be assigned one of the extrusion profiles for each of the following operations:

  • extruders[].firstLayerExtrusionProfile: a typically slower profile can be used to allow better adherence to the build platform when extruding the first layer.
  • extruders[].infillsExtrusionProfile: the extrusion profile for infill patterns
  • extruders[].insetsExtrusionProfile: the extrusion profile for the shells (no distinction for the first one yet)