synman / Octoprint-Bettergrblsupport

Better Grbl Support Plugin for Octoprint based (loosely) on the original Grbl Support plugin developed by mic159
https://github.com/synman/Octoprint-Bettergrblsupport/wiki
64 stars 19 forks source link

Add support for tool changes #77

Open synman opened 2 years ago

synman commented 2 years ago

While GRBL officially does not support tool changes, the constructs are there to support it. It doesn't complain if you sneak in a Tool (T) command and slicers such as VCarve can pass in the tool # you set in their tool database with a slight modification to their Grbl (metric) post processor.

I have full control over the data stream and it is very feasible for me to trigger a job pause, unlock the machine, preserve the location of the spindle upon pause, direct it to a predefined "tool change" location, allow for the tool change and adjustment of Z 0, re-orient the machine back to the preserved location, and restart the job.

rsteckler commented 1 year ago

Fusion 360 and the Carbide GRBL PostProcessor is writing a T1 M6 that causes OctoPrint/GRBL to throw an error. The generic GRBL post-processor has a checkbox to disallow M6 to avoid this.

Carbide Motion does a good job of interpreting the M6 and moving the machine to near the z-probe (bitsetter) and popping a dialog saying to insert the correct tool with a resume button. Would be awesome if the same worked in BGS!