After setting your Z zero, run the “Initial Tool” macro (be sure to edit probe location)
That will establish the tool offset for your probe.
When it’s time for a tool change, run the “New_Tool” macro.
Each macro is just one probe sequence with one tool. I don’t have a Nomad, but I think this it how it’s done. Will be great for multiple tool jobs.
Just remember to add probing wires when it gets to the probing location.
dumb question, but where do you put your probe for the tool change, and how do you keep it in a consistent place with known coordinates? did you just pick an out of the way spot up front and mark it with a pencil on the washboard or something?
Anywhere that will still be there when you start carving. You define the location machine position by editing the Initial_Tool macro. That location will persist until you power cycle. When I test the macros, I just line the probe up under the end mill. I have a pocket cut in the front right corner for my probe, but it’s easy enough to just line it up. You could even use a spot on top of your stock of it won’t be cut.
By the way, make sure you use the most recent version of CNCjs. The macros rely on a feature added recently.
I generated gcode with two tool changes that I used for test purposes that takes about 30 seconds to run (not including tool changes) if anyone’s interested for testing or practice. It’s just three overlapping circles 20mm diameter and 1.5mm deep with the origin at center.
Here is the test file I’ve been using. I didn’t really pay attention to Feedrate as it’s cutting 1.5mm deep (two passes) in scrap MDF.
Load 0.25" end mill.
Zero all axes (XY in center, Z on top of stock)
Edit Initial Tool macro for your probing location
Run Initial Tool Macro
Start job (It will see the M6 for the first tool which is already loaded…just resume)
It will run first operation.
On next tool change call, run New Tool macro (changing to 0.125" endmill)
When done it will run second op
On last tool change call, run New Tool macro (changing back to 0.25" endmill)
Resume to run final operation.
I use the C3D tool probe block and I want to use your tool change macro. I am using the Precision_ToolChange_Macro.txt and each time my second tool is 3 mm too deep. I though it might have something to do with my block but if I am probing it the first time with the block then change the tool and probe again should it not work?
But now I see you have these Initial and New tool macros separate. Which ones should I be using with my CNCjs?
Yep and it worked just like that. The problem is that the second tool was 3mm deeper than it should have been. It did this twice today. I use the C3D probe block to set my initial zero and then the Precision_ToolChange_Macro after the first tool is done. I use the block in exactly the same place for both probe checks in the macro.
I will try the two other macros tomorrow but I really like having it all in one macro. Is there an advantage to the two macro approach?
And as one last question… Is there any way to change the order of the macros in the widget in CNCjs?
You just run one probe with the initial tool and then one probe for each new tool instead of double probing on each change.
That is concerning. Can you run a test? Set Z zero at a measurable distance (>3mm)above your wasteboard. Run the macro and change the tool to an obviously different length. Go to Z zero. Still 3mm off?
Ok. After going over all of this I found the issue. Turns out the second tool was 3mm deeper than it should have been but so was the first one, I just didn’t realize it due to the way the path was made. I didn’t have the settings in the CNCjs probe section correct.
Your macros work great and I thank you for your work in creating them.
Now, about changing the order of the macros in CNCjs…
Thank you very much Neil! You talked me into switching to CNCjs and I used both your macros for bit probing for Z height. I just removed the M0 functions since I am using a fixed button for probing. I ran a test and I would say the correction is within a couple hundredths of a millimeter. I think the discrepancy is due to some previous damage to the bottom (UGS glitch). I am going to glue an aluminum disc to the switch to give it a more consistent surface. Thanks again!
Now I have to figure out how to make the stream deck work with CNCjs.