
CNC Post Processors Explained: From Toolpath to G-Code Your Machine Understands
You design something in Fusion 360 or VCarve. It looks great. You generate a toolpath. Now what?
Table of Contents
- The Bridge Between Thinking and Cutting
- Why G-Code Isn't Universal
- The GRBL Post Processor Requirement
- What a Good Post Processor Checks
- How to Verify Your Post Processor Works
- Modifying a Post Processor (Fusion 360)
- VCarve Post Processors
- Carbide Create and Post Processors
- Common Post Processor Failures
- What We'd Use
- Related Articles
The Bridge Between Thinking and Cutting
You design something in Fusion 360 or VCarve. It looks great. You generate a toolpath. Now what?
Your CAM software has generated a toolpath—the coordinates and speeds for the cut. But your GRBL controller doesn't understand "move to X50 Y30 at 2000 mm/min." It understands G-code, a specific command language.
A post processor translates your generic toolpath into G-code your specific machine understands.
The same design can be machined on different CNCs, but toolpaths, feeds, tools and clearances must suit each machine as well as its controller-specific post.
Why G-Code Isn't Universal
G-code has a core set of standard commands:
- G0: Rapid movement (fast, no cutting)
- G1: Linear cutting move
- G2/G3: Arc cutting moves
- M3: Start spindle clockwise
- M5: Stop spindle
- M4: Start spindle counter-clockwise
But beyond these basics, machines diverge:
- Spindle control: The post outputs the required start and speed commands, such as M3 S12000; wiring and firmware translate these into the spindle control signal. A dwell is a separate command.
- Coordinate modes: Absolute (G90) vs incremental (G91). GRBL defaults to absolute.
- Feed modes: Grbl supports G94 for units per minute and G93 for inverse time; use the mode appropriate to the posted motion.
- Canned cycles: G81 (drill cycle), G82 (drill with dwell). GRBL doesn't support these.
- Tool compensation: G41/G42 (cutter radius compensation). GRBL doesn't support this either.
A post processor says: "This is GRBL. Don't use canned cycles. Don't use G41/G42. Do use M3 with S parameter. Output G90, G94."
The GRBL Post Processor Requirement
If your controller runs Grbl, use a compatible Grbl post and check any sender-specific tool-change requirements.
Autodesk supplies a maintained Grbl post. Check its settings against your controller, especially safe retracts and tool changes.
Start with the machine maker's recommended post or Autodesk's official Grbl post. Use a community modification only for a documented need and verify its output.
Carbide Create integrates with Carbide machines; Pro is required for standalone G-code export to other controllers.
VCarve has a broad post library; confirm a compatible post for your specific controller before buying.
What a Good Post Processor Checks
- Output units: G20 selects inches and G21 selects millimeters; posted coordinates and feed values must match the selected output units.
- Spindle control: Does it output
M3 Snnnnformat that your controller understands? - Safe Z: Does it retract to a safe height between tool changes?
- Feed rate units: G94 (units/min) is standard for GRBL.
- Coordinate system: G90 (absolute) is standard.
- Comments: Optional but helpful for human readability.
- Tool changes: Does it pause for manual changes, or does it assume an ATC (automatic tool changer)?
A bad post processor:
- Outputs G81 (drill cycle) that GRBL doesn't understand
- Specifies G41/G42 (tool compensation) that GRBL doesn't support
- Passes an unsupported M6 to Grbl without a sender tool-change workflow
- Declares G20 but outputs millimeter values, or vice versa
Unsupported commands can stop the job; incorrect units or retracts may instead produce accepted but dangerous moves.
How to Verify Your Post Processor Works
- Generate a simple test file (2D pocket, 5 minutes of cutting)
- Post-process it
- Open the G-code in a text editor and scan for obvious issues
- Preview the posted G-code in your sender, then separately check offsets, retracts, clamps and machine travel
- After those checks, verify with a controlled air cut and a simple scrap test before machining the real part
Take time to verify the post before relying on it.
Modifying a Post Processor (Fusion 360)
Fusion 360 posts are JavaScript files. If you need to tweak one:
- In Manufacture, open Manage > Post Library and copy the post into your Local or Cloud library before editing
- Open in a text editor
- Check the documented post properties first; their names and behavior depend on the post
- Edit conservatively (change one value at a time)
- Test on scrap material
Common edits:
- Safe retracts: Check the post property and the CAM clearance heights; verify any G28 or G53 move on your machine
- Spindle formatting: Inspect the actual spindle-output code in your chosen .cps file
- Spindle delay: Use a supported dwell option or a carefully reviewed post modification if your spindle needs spin-up time
Don't try to rewrite the entire post if you don't know JavaScript. Get a working post, tweak it slightly.
VCarve Post Processors
In VCarve, configure your machine and compatible post, then verify the selected post when saving toolpaths. Creating a design alone does not guarantee the correct output format.
If your machine isn't there, check:
- Search the VCarve forum—someone might have created one
- Use a Grbl post only if your controller is Grbl-compatible, then verify the output
- Vectric's post library is online; you can download community posts
VCarve posts are generally excellent because they're maintained by professionals.
Carbide Create and Post Processors
Carbide Create is integrated with Carbide machines. For another controller, Pro can export standard G-code, but the chosen post and tool-change behavior still need checking.
Check the selected post; Carbide Create Pro also supports custom post processors.
Common Post Processor Failures
"Unknown command" error:
- Your machine got a command it doesn't understand
- Usually canned cycles (G81, G82) or tool compensation (G41, G42)
- Fix: Use the correct post processor for your machine
Spindle doesn't turn on:
- Post isn't outputting M3 Snnnn correctly
- Or spindle control is on a different I/O pin your firmware doesn't recognize
- Check the post commands, firmware spindle settings, controller wiring and VFD run/speed configuration
Tool changes don't pause:
- The controller or sender may not support the posted tool-change command
- Use separate files per tool or a verified sender/controller tool-change routine, and reset tool length as needed
Coordinates are way off:
- Post is mixing absolute and incremental coordinates
- Or mixing G20 (inches) and G21 (mm)
- Verify output units and numeric scaling, coordinate modes, work offsets and the origin set on the machine
What We'd Use
For Fusion: Start with the machine maker's recommendation or Autodesk's official Grbl post for a Grbl controller.
For VCarve: Built-in post processor library (your machine is likely there)
For Carbide Create: Check the machine post; standalone G-code export requires Pro.
For any machine: Start with the manufacturer's recommended post if available. If not, use a community version that others have tested.
Preview and inspect the posted file, verify the physical setup, then test safely before cutting the real part.