-
Notifications
You must be signed in to change notification settings - Fork 27
Usage
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.
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).
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.
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
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
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)