What is a 'tool' in CNC according to RepRap in CNC world?
-
So I've noticed that most of the post programs seem to assign different end mills to different 'tools' T1, T2 etc.
But in the config a tool is not a cutter, but the spindle itself.This obviously causes errors about tools not being defined.
So what is the correct way to deal with this?
Am I supposed to define as many tools as I can ever imagine needing to change all with the same definition?
; CNC Mode M950 R0 C"fan0" L24100 ; Create spindle index 0, with PWM pin on fan0 and 24000 RPM achieved at full PWM M563 P1 S"Spindle T1" R0 ; Create tool 1 with spindle 0 and call it "Spindle T1" M563 P2 S"Spindle T2" R0 ; Create tool 2 with spindle 0 and call it "Spindle T2" M563 P3 S"Spindle T3" R0 ; Create tool 3 with spindle 0 and call it "Spindle T3" ... ... M453 -
@tqkez-0 You define 'spindles' with M950, and you have one defined already. RRF 3.3 and later allows up to 4 spindles. This is separate from 'tools'. You can see it in the spindle and tool comments; M950 creates spindle 0, while M563 creates each tool using spindle 0.
By defining 'tools' which use the same spindle, RRF can take control of the tool change process when a different tool is requested. You add the relevant code to the tool change macros to halt the machine, notify the user that a different tool is required, and set the tool length, on each tool change. If you had auto toolchanger, it would do this automatically without user intervention (eg this would be nice). For a more in-depth explanation of what happens in a tool change, see https://docs.duet3d.com/User_manual/Tuning/Tool_changing (with the obvious bias towards 3D printer tool changes rather than CNC tool changes, sorry!)
Unless you are actually changing 'spindles' (ie the motor that drives the endmill), it would be clearer to name your tools with the tool that it expects, ie 'T1 endmill 8mm roughing', T2 6mm ball nose', etc. Usually in the gcode generator you can define the mill type and tool number for each process.
The alternative is to set the Gcode generator to pause when a different mill/tool is needed, but not use tool numbers (you can usually set this by selecting 'manual tool change' or something similar), and it can usually send a message as to what actual mill/tool it wants. Then you only have one tool defined. But you still want it to check the tool offset/length before it starts again, so you might want to set it to check that each time before resuming.
Ian
-
What a good question and a really helpful reply.
Perhaps the PTB would/could provide a little more information for CNC-specific users with their guidance documents and examples, please? I'm sure more CNC users are joining the Duet ranks as these boards are pretty incredible!
-
@nightowl thanks, I’ll add some of what I wrote to the ‘configuring RRF for CNC’ page. If anyone has examples of how they set up their Gcode generation software, post processors and tool change macros, that would be useful too. Note that I’m not actually a CNC user, at least not yet!
Ian
-
@droftarts said in What is a 'tool' in CNC according to RepRap in CNC world?:
I’m not actually a CNC user, at least not yet!
Give it time! We'll bring you over to the dark side and you'll never look back - if you like lots of noise, woodchips and sawdust everywhere