Fusion 360 Post Processor MPCNC v4.0 (Beta 1) is Available

:warning: Please read first — Very minimal testing done

V4.0 (Beta 1) has had minimal debugging and only a few sample jobs run.

The post-processors code was hardened and had new features added, with
the assistance of Claude Code (an AI coding tool). Every change was reviewed
before being accepted
— but reviewing a change is very different from executing it.
JavaScript only fails when the code actually runs, and this code has not had all
possible execution paths exercised.

Treat this as experimental. V3.0 (Beta 3) remains the last stable release!
Use V3.0 (Beta 3) if you need something known to work. All V4.0 (Beta 1)
feedback is very welcome; that is exactly what this beta is for.

This release continues from V3.0 (Beta 3). It is a substantial hardening
release: the post was put through two full review passes — one for general
code quality and one for Fusion 360 post-processor compliance — plus a
targeted fix pass. The result adds several capabilities and fixes a number
of latent issues (all reviewed, but only a few samples run).

What’s new since V3.0 (Beta 3):

  • Drilling is now supported — drill / peck / bore / tap operations post
    correctly. Because Marlin/GRBL/RepRap have no G81/G82/G83 canned cycles,
    each cycle is expanded into ordinary G0/G1 plunge-and-retract moves.
    (Previously a drilling operation would not post.)
  • Work coordinate systems — on GRBL and RepRap/Duet the WCS you set in
    Fusion is now emitted (G54–G59, plus G59.1–G59.3 on RepRap). Marlin has no
    work-offset table, so it still uses G92 zeroing; a warning is issued if an
    operation selects a WCS that can’t be honored.
  • Safer rapid ordering — combined rapid moves now travel in XY before
    bringing Z down, and retract Z before moving in XY, to avoid plunging
    into the work or dragging across it.
  • “Disable Z stepper” during tool change fixed — it was sending M17
    (enable steppers) instead of M84 (disable), so the axis never actually
    released. It now disables the Z stepper as intended.
  • More reliable G1→G0 rapid mapping / feedrate scaling — position
    comparisons are now made at output precision, so the mapping is no longer
    defeated by floating-point rounding.
  • Manual NC “Pass through” commands are now emitted to the output.
  • Clearer errors for unsupported cases (multi-axis toolpaths, and
    control-side cutter compensation — set the operation’s Compensation Type
    to “In computer”).
  • Numerous smaller correctness/quality fixes (spindle direction changes,
    end-of-job motion sync, message/comment sanitization, and more).

The file has been renamed to MPCNC_v4.0_Beta1.cps to match the version.
Detailed review/change notes are in the docs/ folder of the repository.

This is BETA, un-executed code.
Review all generated GCode carefully before running it on your machine.
Use at your own risk.

Installation:
Unzip MPCNC_v4.0_Beta1.zip and install the extracted
MPCNC_v4.0_Beta1.cps using the F360 Post-Processor setup dialog. Use the
Job: CNC Firmware property to select your controller (Marlin 2.x,
GRBL 1.1, or RepRap/Duet).
If you want a known-good post, stay on V3.0 (Beta 3).

Please post successes and errors/issues to this thread. Given this build has
not been run yet, early real-world reports are especially valuable.

MPCNC_v4.0_Beta1.zip (16.6 KB)

1 Like

I have now completed some bare minimum testing. This post processor loads and runs in the latest version of F360. I have not been able to exercise under the hobby license as my last license expired and I was forced to reinstall F360 - currently on a 30 day full feature trial.

There is support for WCS, but there may be a bug related to the first and second WCS appearing to be the same - start setup WCS at 2 for now. Will review this in the coming days.