Browse Learn topics

Learn/Plasma/Toolpath Generation & Post-Processing

G-Code Post-Processor

Updated v2.5.6

At a glance

  • Outputs LinuxCNC / Mach3 compatible NGC format
  • G90 absolute positioning, G20/G21 unit selection
  • M3 torch on, M5 torch off, G4 pierce delay
  • G0 rapid moves, G1 feed moves
  • Native G2/G3 arc moves — arcs are not unnecessarily linearized
  • Every post refuses to write an arc that would land where it started — no full-circle gouges, no controller aborts
  • Z-axis retract between each cut contour
  • Bundled QtPlasmaC / LinuxCNC post supports center-spot pierce and skip semantics via [spot] markers
  • FLCNC / FangLing and ProMach plasma posts bundled alongside GRBL, FluidNC, and QtPlasmaC
  • FluidNC and JetFlight posts share the touch-off/fire cycle and add fail-closed Cebora MARK-relay subroutines for factory plasma marking
  • AI-powered Import & Convert turns an existing SheetCAM .scpost or Fusion 360 .cps into a JetCad3 post

The post processor turns generated toolpaths into G-code for your controller. Posts are .jcpst files — editable scripts run in a sandbox with Fusion 360-style Format and Modal helpers — and each machine profile selects one on its Post tab, filtered to plasma posts only. The upstream pipeline hands the post exact arc geometry, so the post decides whether to emit native G2/G3 I/J arcs (most do) or linearize for controllers that can't take them.

Bundled plasma posts

LinuxCNC Plasma, QtPlasmaC for LinuxCNC (material blocks, small-hole spotting via [spot] markers and M3 $2, THC envelope with M62/M63, hole velocity reduction through M67 E3 Q), Mach3 and Mach4, GRBL for GRBL/grblHAL/FluidNC controllers, FluidNC Plasma and JetFlight Plasma for GcodePilot-run machines (torch fire via o<fire_torch> subroutines and AVTHC M101/M102/M103 — see Arc Voltage THC), FLCNC / FangLing F-series shape cutters, PromachLTD StrikeCommand, and FastCut CNC G7.

The FluidNC and JetFlight posts hand the pierce to shared subroutines. fire_torch probes and re-zeros Z, rises to pierce height, fires, waits for preflow, confirms the arc, retries a misfire, and descends to cut height; torch_off extinguishes and retracts. Both controllers use the same subroutines and AVTHC codes.

For supported Cebora plasma marking, those posts call fire_mark and mark_off. The marking wrapper selects MARK before START, composes with the normal touch-off cycle, and releases START before MARK. Posting fails closed unless both distinct outputs and all four compatible subroutines are configured. Hypertherm mark-only programs use the ordinary torch cycle with the selected marking consumables.

What the output looks like

G20/G21 units and G90 absolute positioning up front, then per contour: a G0 rapid to the pierce point, Z to pierce height, M3 torch on, G4 pierce delay, feed down to cut height, the cut as modal G1/G2/G3 moves with the recipe feed, M5 torch off, and a retract to safe height between contours. Comments identify the program, machine, recipe, each part, and each contour by id and type, so the file reads cleanly at the controller.

Customizing

Every post exposes properties on the machine's Post tab — file extension, linearize arcs and arc deviation, coordinate decimals, safe Z height, path blending — saved per machine. The pencil icon opens the post source in the built-in editor for full control, and Import & Convert takes an existing SheetCAM .scpost or Fusion 360 .cps post and converts it to a JetCad3 post through the jetcad.io AI service (sign-in required). That's the bridge if you're switching from one of those packages and JetCad3 doesn't bundle a post for your controller yet — more bundled posts are coming over time.