📋 Sample fix report — Mazak Integrex i-400 / Fusion 360
Get my own fix →- • Tool number format: Verify your Integrex tool magazine is configured with matching 4-digit T codes (T0101 = tool 01, offset 01). If you use custom offset numbers, adjust the OO digits in your CAM tool library accordingly.
- • Polar interpolation: Run a C-axis milling dry cycle (single block) to confirm G12.1 activates correctly and G13.1 cancels cleanly before returning to turning operations.
What Changed & Why
Root Cause
Three issues found in the Fusion 360 post-processor for the Mazak Integrex i-400 with MAZATROL SmoothX control. The immediate symptom was an "Undefined Tool" alarm on every tool change — caused by the post outputting 2-digit T codes (T01) where the Integrex controller requires 4-digit TTOO format (T0101). This is a known issue with the default Fusion 360 Mazak post and is widely reported on the Autodesk Community forums.
What Was Fixed
1. T code format — Changed toolFormat width from 2 to 4. The Integrex tool command format is TTOO — first two digits are the tool slot number, last two digits are the offset register. This resolves the "Undefined Tool" alarm.
2. G12.1 polar interpolation — Removed the isFirstSection() guard so G12.1 is output at the start of every C-axis milling section, not just the first one. Operations after the first milling section were running without polar interpolation active.
3. G13.1 cancel — Added G13.1 to the section end block for milling operations. Without it, polar interpolation stays active into subsequent turning operations, corrupting axis movement. See MAZATROL SmoothX G-Code Reference §6.4.
How to Verify
- Post a program with at least one tool change — confirm no "Undefined Tool" alarm
- Post a program with C-axis milling followed by a turning operation — confirm G12.1 / G13.1 appear correctly in the output NC code
- Run a dry cycle (single block) and verify tool changes and C-axis transitions execute cleanly
Side-by-Side Diff
// Mazak Integrex i-400 — Fusion 360 Post
// Version: 1.0.2
var toolFormat = createFormat({decimals:0, width:2, zeropad:true});
// ...
// Section start — polar interpolation
if (isFirstSection()) {
writeBlock(gFormat.format(12.1));
}
// ...
// Section end
onSectionEnd = function() {
writeBlock(mFormat.format(9));
writeBlock(gFormat.format(28), "U0", "W0");
};
// Output: T01 M6 ← controller alarm
// Output: G12.1 missing on op 2+
// Output: G13.1 never written// Mazak Integrex i-400 — Fusion 360 Post [cncpostfix.ai]
// Fixed: 2026-03-26 | Fix ID: mazak-integrex-sample
var toolFormat = createFormat({decimals:0, width:4, zeropad:true});
// ...
// Section start — polar interpolation (every C-axis op)
writeBlock(gFormat.format(12.1));
// ...
// Section end
onSectionEnd = function() {
if (currentSection.isMultiAxis() || isTurningOperation) {
// no G13.1 needed
} else {
writeBlock(gFormat.format(13.1));
}
writeBlock(mFormat.format(9));
writeBlock(gFormat.format(28), "U0", "W0");
};
// Output: T0101 M6 ← correct
// Output: G12.1 on every C-axis op ← correct
// Output: G13.1 at section end ← correctChanges (3)
Before
var toolFormat = createFormat({decimals:0, width:2, zeropad:true});After
var toolFormat = createFormat({decimals:0, width:4, zeropad:true});Fusion 360's default Mazak post outputs 2-digit tool numbers (T01, T02). The Mazak Integrex requires 4-digit T codes in the format TTOO where TT = tool number and OO = offset number (e.g. T0101, T0202). Without this fix the controller throws an "Undefined Tool" alarm on every tool call. Confirmed in MAZATROL SmoothX EIA/ISO Programming Manual §3.2 — Tool Command Format.
Before
if (isFirstSection()) {
writeBlock(gFormat.format(12.1));
}After
writeBlock(gFormat.format(12.1));The post was only outputting G12.1 (polar coordinate interpolation ON) at the start of the first section. On the Integrex, G12.1 must be output at the beginning of every C-axis milling operation because G13.1 (cancel) is issued at section end. Subsequent milling operations were running without polar interpolation active, causing incorrect XY motion paths on the C-axis.
Before
onSectionEnd = function() {
writeBlock(mFormat.format(9));
writeBlock(gFormat.format(28), "U0", "W0");
};After
onSectionEnd = function() {
if (currentSection.isMultiAxis() || isTurningOperation) {
// no G13.1 needed
} else {
writeBlock(gFormat.format(13.1));
}
writeBlock(mFormat.format(9));
writeBlock(gFormat.format(28), "U0", "W0");
};G13.1 (polar coordinate interpolation cancel) was missing from the section end block for milling operations. Leaving G12.1 active across tool changes causes the controller to apply polar interpolation to subsequent turning operations, resulting in incorrect axis movements. G13.1 must be output at the end of every C-axis milling section. See MAZATROL SmoothX G-Code Reference §6.4.
Documentation Referenced
Ready to fix your post-processor?
Upload yours now. Results usually within 20 minutes.
Upload My Post-Processor