Browse Learn topics

Learn/Plasma/Toolpath Generation & Post-Processing

G-Code Post-Processor

Updated v2.6.1

At a glance

  • Select bundled posts for LinuxCNC, QtPlasmaC, Mach3, Mach4, GRBL, FluidNC, JetFlight, FLCNC, ProMach, FastCut G7, and DynaTorch XLS
  • Posts emit controller-specific positioning, units, torch cycles, pierce delays, and retracts
  • FluidNC Plasma can omit G54–G59 so the program follows the active GcodePilot work offset
  • Native G2/G3 arcs stay exact where supported; rounded coincident endpoints are guarded
  • Compatible 3-axis posts support Pre-Pierce All with one cleanup park and pause
  • QtPlasmaC supports center-spot pierces and skip semantics
  • FluidNC and JetFlight include dedicated touch-off/fire cycles and supported Cebora marking subroutines
  • Import & Convert adapts existing SheetCAM .scpost or Fusion 360 .cps files for review

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, FastCut CNC G7, and DynaTorch XLS Plasma.

The FluidNC and JetFlight posts hand the pierce to shared subroutines. fire_torch probes and re-zeros Z in the active G54–G59 slot, rises to pierce height, fires, waits for preflow, confirms the arc, retries a misfire, and descends to cut height; torch_off extinguishes and retracts. The known-surface shortcut is invalidated when the active work offset changes, so a surface found in one slot is never reused in another.

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.

DynaTorch XLS

Select DynaTorch XLS Plasma to export .TAP programs for the DynaTorch control. The post uses G70/G71 units, G90 absolute XY positioning, G54, incremental I/J arcs, G23/G25 plasma cycles and M30. Feed is set before torch ignition. Circles remain native arcs, represented by two semicircles. The program header records the output filename, machine, date/time, material, thickness and kerf width in the selected units.

Set torch heights, pierce delay and THC at the DynaTorch control: the post leaves those settings to the controller's torch cycle. Automatic exhaust output is not included. Ordinary cutting, tabs and center-pierce operations are supported. Peck Mark, engraving/plasma-marking, bevel cutting, tool selection and G-code THC override rules are not supported by this post.

To install a separately supplied JC3 post, open Edit → Machines…, select your plasma machine and open Post. Click the folder icon (Reveal in folder) beside the current post, copy the .jcpst file into that folder, then click Refresh list, select the new post and click OK. The Import & Convert button is for SheetCAM/Fusion source posts.

Choosing the FluidNC work offset at the machine

The FluidNC Plasma post's Work Offset property defaults to G54, preserving existing machine profiles and posted output. Choose Use active work offset to omit G54–G59 from the file. When that file is loaded in GcodePilot, it follows whichever work offset is selected on the DRO, so the same program can run at another saved sheet or fixture origin without being reposted.

An explicit G54–G59 in imported or custom G-code is still honored in execution order.

Updating the FluidNC post and torch routine

JetCad3 updates the bundled FluidNC Plasma post automatically with an application update. If a machine profile uses a separate imported copy of the post, reselect the bundled FluidNC Plasma post on the profile's Post tab, or import the current fluidnc-plasma.jcpst and select it.

Open Machine Configuration → Subroutines and find fire_torch. When the bundled routine is newer, its Update available badge offers View bundled first and Replace with bundled. Replace keeps the machine's parameter values and pinned toolbar toggles, but intentionally replaces edits made inside the routine source, so review custom code before accepting the update.

What the output looks like

The exact cycle depends on the selected post. A typical direct torch/Z post emits 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.

Pre-Pierce All output

Supported bundled 3-axis posts can output Pre-Pierce All. They run marking once, pierce every eligible cut, force the torch and height control off, retract to machine Z0, park at the selected machine or work coordinate, and issue one cleanup pause. Continue starts the shifted cutting pass. Unsupported posts are rejected before a partial file is written. FLCNC/FangLing, DynaTorch XLS and 5-axis output are currently excluded; GRBL requires Pierce with Z.

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.