Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Post-processors

A post-processor is a small TOML file (name.toml) and a Jinja template (name.*.j2); see Post-processors for writing your own. The TOML file’s fields:

The file

FieldTypeRequiredMeaning
arcsbooleannoWrite arcs as G2/G3; false writes them as short lines (G1). Missing: false.
decimalsintegernoDecimals for coordinates and feeds in mm. Missing: 3.
file_extensionstringnoThe G-code file’s extension, e.g. .nc. Missing: .nc.
inch_decimalsintegernoDecimals for coordinates and feeds in inches. Missing: 4.
namestringyesThe post’s display name, e.g. “GRBL”.
notestring or nullnoA word for the operator, shown on the setup sheet, e.g. that the post isn’t tested on a real controller yet. Missing: none.
schema_versionintegeryesThe version of the settings format: 1.
spindle_dwell_snumberyesSeconds to wait after starting the spindle, for it to reach speed; 0 for none. Required: a silent default could start cutting at low speed.
templatestringyesThe template’s file name, next to this file, e.g. myrouter.nc.j2.
tool_changeslist of ToolChangenoHow the template can write a job with several tools: files (one program per tool), and program (one file with tool changes) if the template writes them. Missing: files only.
unitslist of UnitsnoThe units the template can write: mm (G21) and inch (G20) if it writes {{ units_word }} instead of a fixed G21. Missing: mm only, so a machine set to inch is refused rather than given inch numbers under G21.
written_bystring or nullnoWho or what wrote the file, for reference.

ToolChange

How a job with several tools is written.

  • "files": One G-code file per tool group; the user changes the tool and sets Z zero between.

  • "program": One file with T<n> M6 at each change, for a sender that handles it.

Units

One of: "mm", "inch".

Built-in post-processors

NameFile extensionDecimalsArcsSpindle wait (s)Tool changesNote
grbl.nc3G2/G33files, program
linuxcnc.ngc3G2/G33filesNot yet tested on a real LinuxCNC machine: check the program and air-cut first.
mach3.tap3G2/G33filesNot yet tested on a real Mach3 or Mach4 machine: check the program and air-cut first.