a blog of ideas and improvements for tormach cnc mills
articles | plugins | for sale | about | contact

CUSTOM TAB AND WCS ARRAY == Custom Admin Commands From MDI Line == F1 Status Window Toggle Killer
Keyboard Jogging Killer == Modified ProbeGuard

To install these plugins, simply copy them into /gcode/python and reboot PathPilot.
ui_hooks.py (MD5 33b0fc42b2d23884e8086c3e33eaacdd) must also be present in /gcode/python

All were coded and tested on my 1100M. Should work across all mills. May not work on lathes without editing. Email me for fixes.

Dave Loomes also provides a few plugins at http://xoomspeed.com/CNC/pathpilot/plugins.htm
Most useful of his is the ProbeGuard, which prevents the spindle from turning on if T99 is selected. He also lightly modified a version for me, listed below.

CUSTOM TAB AND WCS ARRAY V1.00

This plugin creates your own custom tab right on the PathPilot main page. It sits to the left of the Status tab.

It features a few buttons I slapped together, though you can edit this with a bit of python savvy. The big feature, though, is the WCS array, which features all X, Y and Z coordinates for G53 through G59. These update in real time as you move the machine.

Also features buttons that switch to G53-G59, buttons to Zero each of those WCS and a Zero All button that does exactly that.

The plugin is lightly invasive in that it modifies one OEM file (but backs it up before it does). I include an uninstall script to go back to stock settings (or, you can just rename the file yourself if you know how). The uninstall script ONLY uninstalls the plugin. It doesn't touch anything else on your machine, including your g code files.

For the geeks, the script modifies /home/operator/<your version>/python/images/tormach_mill_ui.glade (it makes a backup to tormach_mill_ui.glade.bak). Everything else is handled within the _plugin.py.


Patched Message

Uninstalled Message

This plugin survives PathPilot updates in that it will simply reinstall itself if it notices you have upgraded.

Copy ALL files (except the reversion script) into /gcode/python. Load PathPilot. It will install, then you will have to reload PathPilot to see the actual tab take effect. In other words, two reboots.

HOWEVER, if you are going from an older version to v2.10 or newer, Tormach significantly changed the UI, so I have two versions of this script (before approx 2.10 and after).

If you download it and it doesn't work, try the other version.

Install progress, errors, uninstall progress are all displayed in the Status Window.

Tested on 2.8.3, 2.9.1, 2.13.0, 2.14.0.

To uninstall, simply copy glade_and_tabs_reversion_plugin.py into /gcode/python and reboot.

If you want the midpoint and reboot scripts to work, copy them into /gcode/scripts (you may have to make the scripts directory). The reboot script DOES ask you if you're sure.


If you have the "brushed metal" background (versions earlier than approx 2.10), download these files.


If you have the more plain background (versions typically 2.10 or later), download these files.

glade_and_tabs_plugin.py (the plugin itself)

glade_custom_tab.txt (the code that's injected into the UI itself)

glade_match_block.txt (what the script finds to determine what version you have)

glade_patched_marker.txt (what the script finds to see if the plugin has been installed)

glade_and_tabs_reversion_plugin.py (the uninstall script)

glade_and_tabs_plugin.py

glade_custom_tab.txt

glade_match_block.txt

glade_patched_marker.txt

glade_and_tabs_reversion_plugin.py

CUSTOM ADMIN COMMANDS FROM MDI LINE - v1.00

This plugin adds additional ADMIN commands to the PathPilot MDI line, similar to built-in commands like 'ADMIN CALC' and 'ADMIN DISPLAY'.

You can easily add your own, too.

 ─────────────────────────────────────────────────────────────────────
 ADDED COMMANDS:
 ADMIN GEDIT → Opens the Gedit text editor
 ADMIN CAJA → Opens the Caja file manager
 ADMIN TERM → Opens a Mate terminal window

Custom Admin Commands From MDI Line v1.00
MD5 Hash: e0dae34623beb0ed9434106722826b90

 F1 TOGGLE KILLER v1.00

PathPilot normally uses the F1 key as a shortcut to show the Status Window.
However, this view is *temporary* — the moment you release F1, the UI snaps
back to the previous screen. This plugin disables that automatic return,
letting the Status Window stay visible until you choose to leave it.

 HOW IT WORKS:
 • This plugin locates the active version of PathPilot's main UI script:
 /home/operator/vX.X.X/python/tormach_mill_ui.py
 • It searches for the line that performs the "F1 snap-back" behavior.
 • If found and not already patched, it:
 → Backs up the original file as tormach_mill_ui.py.bak
 → Comments out the F1 line safely
 → Writes the patched file back in place
 • A confirmation popup will appear, and log messages will be printed to
 the Status Window to confirm the patch was applied.

 SAFETY NOTES:
 • The patch is only applied once — it won’t touch the file if already patched.
 • A full backup is created before any changes are made.
 • If PathPilot is updated, the patch will reapply the next time it runs.
 • The original file can be restored at any time using the backup.

F1 Toggle Killer v1.00
MD5 Hash: 5e4f3830a856d76f21d9346967a4e9e8

 KEYBOARD JOG KILLER v1.00

 By default, PathPilot allows jogging the machine using keyboard keys:
 • Arrow keys (← ↑ ↓ →) move the X and Y axes
 • Page Up / Page Down control the Z axis

 While useful in some setups, this behavior can also be dangerous — a stray
 keystroke could unintentionally move your machine.

Keyboard Jog Killer v1.00
MD5 Hash: 2cb5682f27bf12e3f7e6891d01330ae6

MODIFIED PROBEGUARD v1.00

Xoomspeed's ProbeGuard will refuse to turn the spindle on if T99 is selected in PathPilot. This helps prevents destroying your wired probe, cable, etc. However, it does nothing if the probe is in the spindle, but T99 isn't selected, so I wanted to go one step further. I put a limit switch in the cradle where I store the probe. Which is connected to the USB IO module. So, when the probe is safely stored in its cradle, the limit switch is CLOSED.

The modified probeguard looks for that closed circuit. If it's open, it refuses to turn the spindle on. This provides, for me, the ultimate in spindle safety.

Modified ProbeGuard v1.00
MD5 Hash: 75836e6073451e50bcfb3abb7c9eca75