What is a post processor?
From PROBOTIX :: wiki
Contents
What is a Post Processor?
A post processor is a configuration file that customizes generic G-code to work with a specific CNC machine. Different controllers have unique requirements—for example, LinuxCNC requires a %
symbol at the beginning and end of each program, while some controllers need line numbers, and others do not.
Post processors define:
- Units (inch vs. metric)
- File extensions (e.g.,
.ngc
) - Line numbering preferences
- Pre-amble and post-amble settings
- Setup routines (coordinate systems, path optimization, etc.)
- Movement classifications (rapid, feed, arc moves, etc.)
Popular CAM software like Mach3, LinuxCNC, and CNC USB Control Software can use generic G-code post processors, though some modifications may be needed for optimal performance.
Available Post Processors
We provide post-processors for the following software:
Modifying Post Processors
Post processors are plain text files that can be edited in Notepad or any text editor. They are typically easy to understand, and most CAM software includes documentation for customization.
Why Modify a Post Processor?
Modifications allow you to optimize G-code for your specific workflow. For example:
- Removing unnecessary moves to X/Y zero at the beginning of a job.
- Adjusting end-of-job behavior, so the machine moves out of the way instead of returning to X/Y zero.
Important Considerations for LinuxCNC
- Specify a coordinate system (e.g.,
G54
) to ensure proper execution. Running a machine without this can be dangerous. - Use G64 path optimization and adjust the
P
tolerance parameter based on your project requirements.
LinuxCNC Minimum Preamble Example
A proper LinuxCNC preamble should include:
- Coordinate system (
G54-G59
,G59.1
,G59.2
, orG59.3
) - Units (
G20
for inches orG21
for millimeters) - Positioning mode (
G90
for absolute orG91
for incremental) - Arc plane selection (
G17
for X/Y) - Cancel tool compensation (
G40
for diameter,G49
for length) - Cancel work offsets (
G92.1
) - Path optimization (
G64
with a definedP
tolerance)
Example LinuxCNC Preamble
G54 G20 G90 G17 G40 G49 G92.1 G64 P0.010
By customizing your post processor, you can eliminate inefficiencies, improve machining accuracy, and tailor G-code output to your exact needs.