Browse Learn topics

Learn/Oxyfuel/Toolpath Generation & Post-Processing

G-code Post Processor

Updated v2.4.4

At a glance

  • FluidNC Oxyfuel post included, assigned automatically to new oxyfuel machines
  • Runs through GcodePilot with true G2/G3 arc output
  • Gas and Z motion delegated to your two subroutines — no hard-coded M-codes
  • Cut chart values passed as subroutine arguments, per contour
  • Subroutine names, work offset, arc format and decimals all configurable
  • Posts are editable text — copy it and change anything you need

Creating an oxyfuel machine assigns the FluidNC Oxyfuel post automatically. It targets FluidNC through GcodePilot and writes true arc moves.

What a program looks like

G90
G20
G17
G54

(Part 1: bracket)

(Contour 0 [outer])
G0 X1.0000 Y1.0000
o<fire_oxy_torch> call [0.2500] [8.0000] [3.0000] [0.1875]
G1 X3.0000 Y1.0000 F5
G1 Y3.0000 F20
G3 X1.0000 I-1.0000 J-1.0000
G1 Y1.0000
o<oxy_torch_off> call

(Program end)
M30

Reading it: rapid to the pierce point, hand off to your fire subroutine with this plate's preheat height, preheat time, pierce delay and cut height, cut the first stretch at the creep feed, wind up to the chart's cutting speed, follow the contour as arcs and lines, then hand off to your torch-off subroutine.

The post emits no Z words and no gas M-codes at all — both belong to the subroutines. That is what lets one post serve a hand-lit torch, an auto igniter and a dual-circuit table without modification. See Gas & Ignition Subroutines.

Settings

Open the machine's Post tab to change:

  • Fire-torch and Torch-off subroutine names, if your shop already has its own naming.
  • Work offset — G54 through G59.
  • Creep feedrate and creep distance defaults, used for any chart row that does not set its own.
  • Arc output — I/J or R format, or linearize arcs with a deviation tolerance for controllers that cannot take G2/G3.
  • Coordinate decimals, word spacing, and whether to emit G20/G21.

Other controllers

The post is a plain text file. Copy the FluidNC one, change the header and the motion output, and you have a post for another controller — the subroutine contract and the cut-chart values it passes stay the same. The same post-processor editor and converters that serve Plasma and Laser work here.

Related: Toolpath Generation, Torch Selection & Cut Charts.