The short definition
CAM software (Fusion, Mastercam, NX, hyperMILL, SolidCAM and others) calculates toolpaths in a neutral, machine-independent form, often called CL data (cutter location data). A post processor is a translator that converts this neutral data into the exact G-code dialect and structure that a specific machine and controller understand.
Two machines with the same controller brand can still need different posts, because of differences in axis configuration, options, tool changers, coolant systems and shop preferences.
What changes from machine to machine?
- Program structure: headers, program numbers, comments and safe start blocks.
- Tool changes: pre-selecting the next tool, tool length compensation, return positions.
- Coordinate systems: G54 to G59, extended offsets, or controller-specific datum shifts.
- Canned cycles: drilling, tapping and boring cycles differ between controllers.
- Arcs: IJK vs R format, plane selection and helical support.
- Rotary axes: A/B/C naming, direction, limits, unwinding and clamping codes.
- 5-axis: TCP / RTCP (such as G43.4 on Fanuc, TRAORI on Siemens, M128 on Heidenhain) and tilted work planes.
- Machine options: probing, chip conveyors, through-spindle coolant, pallet changers.
Same move, different dialects
Here is a simplified example of the same tool change and first move for two controllers:
(Fanuc-style)
T5 M06
G00 G90 G54 X0. Y0. S8000 M03
G43 H05 Z50. M08
; Siemens Sinumerik-style
T="FLAT_10MM"
M06
G0 G90 G54 X0 Y0 S8000 M3
D1 Z50 M8
Heidenhain controllers use a completely different, conversational-style syntax (for example TOOL CALL 5 Z S8000 and L X+0 Y+0 R0 FMAX). A single generic post cannot serve all of these properly.
Signs you need a custom post processor
- Programmers hand-edit G-code before every job.
- The machine alarms on certain cycles or arcs.
- Rotary moves are inefficient or unwind unexpectedly.
- Your client requires a specific NC program format.
- You bought a new machine or retrofitted a controller.
- You want to use advanced features like probing, high-speed modes or TCP that the generic post ignores.
Every minute spent editing G-code by hand is repeated on every program. A good post processor pays for itself very quickly.
How a custom post is developed
- Collect information: machine model, controller and version, kinematics, travel limits and sample programs that run well today.
- Agree the output: sit with programmers and operators to define the exact format they want.
- Develop: modify a base post or write a new one in the CAM system's post language (JavaScript for Fusion, MP for Mastercam, Tcl for NX Post Builder and so on).
- Simulate: verify the output in machine simulation.
- Prove on the machine: dry run, single block, then first part, with fine-tuning.
A note on safety
Never run output from a new or modified post at full speed without verification. Simulate first, then run with feed and rapid overrides reduced and the operator ready at the feed hold button. A professional post developer will support you through this proving stage.
Get a post processor built for your machine
ENGIMANDI develops and modifies post processors for Fusion 360, Mastercam, SolidCAM, NX, hyperMILL, CATIA and more, for Fanuc, Siemens, Heidenhain, Haas, Mazak, Okuma and custom controllers. Share your machine details via WhatsApp or see our CNC post processor development service.