Skip to content
Profile not set

MachPro Advanced Configuration

Some of this documentation applies to all machine types, and some only to certain machines. Much of MachPro is already configured with sensible defaults.

  1. Open the tool table: View → Tool Tables.
  2. Open the editor: Edit → Table Fields.
  3. On the Optional Field tab, add XOffset and YOffset (select, then Move Pri), and click OK.
  4. Choose a master tool, measure each other tool’s X/Y distance from it, and enter the offsets.
testing 12
  1. 1Testing 1
View -> Tool Tables
Spindle rotation option per tool (e.g. No Rotation for a probe)
Spindle rotation option per tool (e.g. No Rotation for a probe)
Shared: Tool Changer Setup

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.

Determine which axis the rack is parallel to
Determine which axis the rack is parallel to

Configure the correct orientation

  1. Determine which axis the rack/carousel is parallel to (X or Y).
  2. Open C:\Mach\Profiles\Router\ToolTables.
  3. Keep the file that matches your orientation; archive the others (optional, keeps things clean).

Set tool pocket positions

  1. Carefully position a tool in each pocket holder.
  2. Record the machine-coordinate (G53) position for that pocket.
  3. Enter each recorded value into the corresponding tool-pocket field.
Tool pocket positions (set each individually)
Tool pocket positions (set each individually)

After entering positions you must save the document so the CSV conversion macro runs; otherwise the changed positions have no effect.

Enable the tool changer: Predefined Filters -> Tool Change
Enable the tool changer: Predefined Filters -> Tool Change
Drawbar signal mapping example
Drawbar signal mapping example
Shared: Global Monitoring System (GMS)

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.

Global Monitoring System configuration
Global Monitoring System configuration

Monitor classes

The system can initiate four classes of action:

  • Alarm — emergency conditions; can disable the machine or stop motion; requires operator intervention.
  • Warning — non-critical issues; prevents Cycle Start; alerts the operator.
  • Notice — informational only; takes no automatic action.
  • Process — background control actions; does not alert or block Cycle Start.

Conditions

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.

Monitor conditions editor
Monitor conditions editor

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.

Operator dialog: manually load the tool into the spindle
Operator dialog: manually load the tool into the spindle

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).

CategorySettingConstraintsDefaultUnitsMachine 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")