grbl / grbl

An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino
https://github.com/gnea/grbl/wiki
Other
5.56k stars 3.07k forks source link

Tool change position #205

Closed Sualc closed 11 years ago

Sualc commented 11 years ago

I speak about milling.

If you use one CAM to make yours tool paths in gcode you can make one gcode for each tool and send each file to your cnc. But, then you lose your WPos between tools.

Of course you can have only 1 gcode file with all your used tools paths (different tools each one). If the 1st tool path has removed part of your workpiece, its possibly difficult to find again the WPos.

(*) Specially the old Z0 in WPos, because is probable you have not anymore material there . Because the tools have not the same height the Z WPos need to be adjusted between tools changes. But never needed to adjust the X and Y WPos between tools changes.

OMG! is very difficult for me to expose all this in English.

Here I go: grbl ignore the Tx gcode statement atm.

What I propose is:

Because (*) the Z0 WPos may/must to be defined at the lowest Z position of the workpiece (working table + protection thing/foil hight). I use 2mm wooden plate to protect the martyr by the cut all moves. Then my Z0 will be ever working table (martyr) + 2mm wooden plate.

Of course is needed to make the same in the CAM software. This means WPos in CAM will be X left side, Y front side and Z the lowest plane of the workpiece.

This is only one proposition. I am sure not all ppl with agree with this.

chamnit commented 11 years ago

Right now, grbl doesn't support tool changes or tool offsets. It not a high priority and will likely not be install for a while or ever. Depends on where we are at the end and if we have space to do it. There are a number of ways to find this by old traditional methods, which I'm not going to go into. It just takes a little ingenuity to find something that works for you.

csdexter commented 11 years ago

The only help I have for you is my version of script/stream.py which looks for M06 and pauses gracefully, waiting for you to change the tool and then press ENTER.

I used it with Eagle's PCB2GCODE which inserts a traverse move to a configurable tool change position (and a spindle stop, of course) before each M06 so the only thing you need to do is literally, change the tool and press ENTER.

Maybe it helps :-)