MachGroup Documentation
Complete manual · generated 11/6/2026 · 4 sections
The primary documentation target. Pro and Elite are license editions of the same base.
This is the primary software generation (mach), separate from Mach3 and Mach4.
Your edition (Pro or Elite) is set automatically by your brand — there is no
edition selector to choose.
Mach-2026.9.10.23423 (the final
segment is still the SVN build number).See Configure Gantry Alignment for an example with an Elite-only routine that appears only for Elite readers.
Elite-brand note: this block is tagged for the Elite brands (MachMotion and MachAutomate) and disappears when the active brand is MachLabs.
MachLabs-only note: this DIY tip is tagged for MachLabs and is hidden for the Elite brands.
Advanced MachPro topics - tool table edits, tool changers, GMS, the full settings reference (filterable data), and the GCAdapter scripting API. Migrated from BookStack, edited in the rich CMS editor.
Some of this documentation applies to all machine types, and some only to certain machines. Much of MachPro is already configured with sensible defaults.

XOffset and YOffset (select, then Move Pri), and click OK.
12
1 The MachMotion plugin supports wine-rack and carousel tool changers. Both combine user-defined rack/pocket positions with a pre-programmed change sequence and built-in safety checks. The changer works with the rack parallel to X or Y.
C:\Mach\Profiles\Router\ToolTables.
After entering positions you must save the document so the CSV conversion macro runs; otherwise the changed positions have no effect.
The Global Monitoring System sets up user alerts/messages and controls I/O based on conditions. The machine watches for specified conditions and takes action when they are met. Open it via Configuration -> Plugins -> Global Monitoring System.
The system can initiate four classes of action:
Conditions are organized into sets (AND / OR / NOT) and items. Most monitors only need a single AND set. Add an item by choosing a condition type, filling in the details, and pressing Add Condition.
Used when a tool doesn’t fit the magazine and must be manually loaded/unloaded. Add a
non-pocketed tool range in ToolInfo.lua:
{["Name"] = "Spindle (1) Manual", ["Start"] = 100, ["End"] = 199, ["UseToolPocket"] = 0},Now M6 T100-M6 T199 trigger manual changes.
The reference below is structured data, not a hand-typed table: filter by text, and set your Machine Profile machine type to see only the settings relevant to your machine (e.g. Plasma or Waterjet rows).
| Category | Setting | Constraints | Default | Units | Machine types |
|---|---|---|---|---|---|
| Preferences Backup | Automatic Backup Interval | min:0, max:365 | 10 | Days | all |
| Preferences Dialogs | Enable Confirmation Dialogs | Yes/No | Yes | -- | all |
| Softlimits Startup | Auto Enable SoftLimits | No, Homing, Startup | Homing | -- | all |
| Homing Home All | Home All Button Options | Home Selected Instance, Home All Instances | Home All Instances | -- | all |
| Overrides Feedrate | Feedrate Override Max Percent | min:0, max:300 | 300 | Percent | all |
| Measuring and Offsets Auto Tool Setter | Tool Setter Approach Speed | min:0, max:100000 | 100 | Units/Min | mill, router |
| Spindle Warm Up | Spindle Warm-Up Enabled | -- | No | -- | mill, router, lathe |
| Tool Changer Settings | Tool Change Method | Ignore, Manual, Auto | Manual | -- | mill, router |
| Shape Cutting Plasma | Plasma Error Input | -- | IO$HiCON$P11 Input 1 | -- | plasma |
| Shape Cutting Oxy Fuel | Oxy Fuel Heads | 1,2,3,4 | 4 | -- | plasma |
| Height Controllers Machine Options | Height Controller Device Name | Not Used, SoftHC, RollerHead, ArcPro, NeuronTHC | Not Used | -- | plasma |
| Jet General | Jets Enabled | min:1, max:8 | 1 | -- | waterjet |
| Jet Pump | Jet Pump Off On End Of Program | -- | Yes | -- | waterjet |
| Drill Bank Settings | Drill Bank Number of Drill Banks Enabled | min:0, max:4 | 0 | -- | router |
The GCAdapter rewrites G-code into Mach-compatible G-code. Block functions:
has(passed_word, close_to, thresh) Looks for passed_word in the block; returns true if found. Accepts a full word (X32) or a code (G).
block:has("G53")block:has("M06", "true", .0006)ModWord(self, old_word, new_word) Replaces old_word with new_word in the current block. Word or code (both must match kind).
block:ModWord("M02","M30")block:ModWord("G43.4","G43")AddWord(self, new_word) Adds new_word onto the end of the current block.
block:AddWord("M06")InsertBlockAfter(new_block) Inserts a new block of G-code on the line after the current block.
block:InsertBlockAfter("G00 X2 Y6.77 Z0")CommentBlock(self, str) Comments out the entire block that exactly matches str (when the match is not already a comment).
block:CommentBlock("M04")Configure and auto-align a gantry axis, including an Elite-only automatic alignment routine shown only to Elite readers.
A gantry axis drives two motors on one axis of motion. Alignment squares the two sides so the gantry does not rack. Set your Machine Profile to MachElite and pick a release to see how content adapts to your machine and edition.
Assign the master motor and the paired slave motor to the gantry axis, then set the per-motor home offset so both sides reference square.
Automatic gantry alignment measures both home switches and computes the squaring offset for you. This is an Elite feature — it appears for Elite readers and is hidden for Pro.
To align manually, jog each side to its home switch, record the offset, and enter it in the gantry configuration.
This MachPro/MachElite release exposes the gantry configuration under Machine Setup → Axes → Gantry.
On large routers, re-check squareness after the table warms up; thermal growth on long spans can reintroduce a small rack.
End-to-end mill/router setup - connection, axis setup, homing, spindle, GMS, lube, and tool changers. Migrated from BookStack, edited in the rich CMS editor.
Complete these steps in order. Steps that integrate with a specific motion controller are covered in that controller’s integration documentation.
123 You may change the display language for MachPro screen labels and buttons from Operator → Select Language. Restart MachPro after selecting a new language.
Open Configure → Control → Settings, flatten the tree, and expand the Spindle section. The most common features:
The Global Monitoring System sets up user alerts/messages and controls I/O based on conditions. The machine watches for specified conditions and takes action when they are met. Open it via Configuration -> Plugins -> Global Monitoring System.
The system can initiate four classes of action:
Conditions are organized into sets (AND / OR / NOT) and items. Most monitors only need a single AND set. Add an item by choosing a condition type, filling in the details, and pressing Add Condition.
The MachMotion plugin supports wine-rack and carousel tool changers. Both combine user-defined rack/pocket positions with a pre-programmed change sequence and built-in safety checks. The changer works with the rack parallel to X or Y.
C:\Mach\Profiles\Router\ToolTables.
After entering positions you must save the document so the CSV conversion macro runs; otherwise the changed positions have no effect.
If your system has an oiler, open Configure → Control → Settings and scroll to Lube System. Enable it, choose an action trigger, and set the output, run time, and time between cycles. Start conservative and increase.