I’ll update after I review the log (still in middle of cutting), but the initial tool change request worked (change to T1) but the second did not (change to T0). Will try to figure it out after the cutting is done. Fortunately, I kept a close eye on it to make sure it worked and when it didn’t, I paused it manually and change tools.
I updated Issue 340 with what I suspect is the culprit. I didn’t do a PR on it, but can if people agree that extra code that’s there is not necessary.
Is it possible to change tools in the middle of the cut, re-zero the Z axis and continue cutting?
Yes, you can change tools and rezero. The controller will adjust accordingly. I wondered that myself this weekend when I did as you described, and it worked well. However, I wouldn’t do any tool changes in the gcode until the problem above is fixed unless you watch it run and can stop it if it doesn’t pause so you change the tool. At this time, I recommend just creating separate gcode files for each tool.
Yes, there was work done on this in the last week.
The prior code ignored tool changes to tool 0, the new code should report any
tool changes and give you a chance to change the tool
As long as you don’t use tool 0, the tool changes should work, even in older
versions of the software.
Yes, as long as you can name your tools. afaik, you can’t name the tools in makercam.
That is a smart way to change tools! I’m glad you mentioned it. I’m noticing more and more that makercam is kinda stupid as in that it doesn’t make smart choices in efficient cutting with limited raising and lowering of the Z axis.
What would you recommend using other than makercam that treats tool changes better and z axis movement more efficient?
I wish i knew, Makercam is free and that works for me right now. you can mitigate the a lot of the extraneous movement by being thoughtful with your profile and pocket paths creation.
tool change worked fine for me yesterday, sounds like if you can avoid naming your first tool, tool 0. you shouldn’t have any issues with tool changes in the software
@madgrizzle said you can’t name the tools in Makercam. Will it default to use “tool 0?”
AutoDesk’s Fusion360 is free for hobby use. There is a bit of a learning curve to the program, but if you’re familiar with Solidworks, Creo, or Inventor a lot of the skills transfer. The CAM module is really nice. I have all the tools I use saved to the library with diameter, feedrates, and tool number metadata. That makes it nice and easy to automate tool selection.
As to your Z-axis question, are you asking about the feedrate of the Z-Axis or just when your CAM decides to retract tools during cutting? If it’s the latter, Fusion (again) has quite a few options that can really help optimize your toolpaths to speed up programs.
Also, if you are familiar with G-code you can edit what’s been posted by your CAM to smooth out things even more. I often do this with 1/2" wide dadoes. Fusion typically will give me two toolpaths for each side of the dado with a retraction at either end. Because it’s going the same direction on each side, I can delete the lines for the tool retraction and it will cut the two lines as a U-shaped toolpath instead. That significantly speeds up the process since the Z-axis is so slow.
On the topic of the original question, I have noticed that if you run the same program more than once, it will only do the tool change for the first instance. It seems like it’s smart enough to know which tool is loaded! I also didn’t know that GC will ignore tool changes for tool 0. That can be very useful…
As it stands now (FW 0.99), the code will only prompt for a tool change if the tool is something different than what before, but if your code for some reason sends two identical non-T0 tool changes in a row (e.g., T1, T1), the code will set the current tool to T0 so if you then issue a T0, it won’t prompt for tool change. This should be fixed with FW 1.00. So if you are going to do tool changes in a single gcode file, I recommend waiting for FW 1.00 release.
Assuming you don’t power cycle the controller, it will remember the last tool used and if you stick with T0 it shouldn’t ever prompt you for tool change.
My workflow is still to make a program for each type of tool and run them from the same home position. I’ve been meaning to play around with the tool changes but I have not had a lot of time at my machine to experiment lately. I blame the cold, I should look into getting a heater in my trailer.