Better ways to set WCS to compensate for tool Diameter offset?

Hey guys got a question for you,
I recently discovered why my end mill had been grazing sections of the stock it wasn’t suppose to… I feel stupid. I had been setting the WCS by measuring the x, y, and Z individually but not compensating for the diameter of the mill for the x,y. I partly didn’t think it was necessary because I thought F360 automatically did this when you input the tool dimensions and specs. After I realized this I looked for a way to implement this in F360 but I didn’t come across anything other than selecting which offset you wanted. So what I’ve been doing is zeroing the (x) then lifting the spindle up and moving it until it reads x : 1.58 mm ((.125/2" in mm) for 1/8th in mill, then resetting the (x) to zero. Then repeating this process for the (y). So I was wondering is there a faster way to do this that doesn’t require resetting things after moving the radius of the mill over after setting it to zero from the side? I was hoping I might be able to set an axis to zero at a side, then entering (+ or -) 1.58(75)mm but it didn’t register it. Any tips for me would be great! thank you

Are you probing for XY zero? What’s your probe set up?
Are you using Carbide Motion?

You seem confused here. The tool diameter is compensated for by the tool path generator. What you need to keep in mind is that the toolpath is built based upon the spindle centerline. This is generally non-negotiable with the CAM system, but if you really want, you may be able to add an offset when specifying you material dimensions. I don’t recommend this, as it is REALLY easy to mess up if you break the conventions.

When you set your location probing with the side of the tool, you will need to do exactly what you have said, since the touch-off point will be offset from the spindle centerline by the tool radius. If you are using a touch probe, it may have compensation built in (the touch plate has an offset to match the probe radius,) but most I have used do not, and you must compensate yourself.

AFAIK, Carbide Motion doesn’t let you enter the offset manually. None of the version I have use do, at least.

If you want to avoid this need, use a pointed probe for setting zero. I ground a dull tool to a point on my tungsten grinder (it is within 0.02mm of center… generally good enough) and probe with this most of the time. If I need better, I flip it around and touch off using a precision plastic or brass shim stock, and add the shim to the radius when compensating. This is good to 0.01mm, but, as the tool diameters will vary more than that, the specific probe must be measured.

Any machine without an automatic touch probe (Renishaw probe, for example) requires the same general process. These probes require support by the controller, are expensive, and not practical for a small machine like the Nomad. The are seen on medium and large envelope machines that start in the $US20K range and up (like the Haas I have lusted for and will never be able to afford).

1 Like

A further consideration is that Grbl has no support for tool diameter offset G-Codes, aside from ignoring the command to turn it off.


1 Like

Ahhh thank you! good to know I wasn’t missing something. I’ll ponder a similar solution for myself.

Would there be a way to code into Carbide Motion to have the zero manually input, but Grbl would recognize it just as if you had clicked zero at the (x,y,z) coords? Maybe the Zero variables are protected as the only link I can see is from the toggles to jog and then reset, but no user input/ modification capabilities. What would prevent that capability from being enabled? Or just off the top of my head, you can adjust the rate at which the nomad jogs from Carbide motion. (fast, 1mm,.1mm,.01mm), would adding common Tool radii Jog options not be possible? (especially if they didn’t step the motors, but Grbl thinks thats where the new zero is). Then to double check, it goes back to its home switches, then moves to the coords of the new zero. I could be mentioning things that everyone has already thought of, just wanted to throw the idea out there.

I am using carbide motion, probe wise I just use the actual end mill, jog to (x) side use a piece of paper, then jog it up over the stock until the (x) reads the radius of the tool, then re zero. repeat for (y). And Z is just the (z).

The problem is tool radius offset commands aren’t supported by Grbl — any such calculation would have to be done by Carbide Motion, and it’s not a feature which the typical user is even aware of, so it would present a needless complication and potentially an additional source for errors and confusion.

You could just manually set your “probe” location as negative tool radius.

1 Like

That seems like a perfect solution, this would be after zeroing at the side of a stock for every axis correct? or could I zero (x) on the side, then (y) side. Then give the command for each axis?

I see fair point, I just figured I’d toss the idea out there. From what it sounds like @neilferreri has a simple and great work around.

1 Like

In the ‘Set Zero’ panel in Carbide Motion (assuming that you use that), you can numerically specify where your tool is currently located, thereby defining the WCS.
The current work coordinates are displayed directly to the left of the ‘Zero X/Y/Z’ buttons and they are editable. So if you have moved your 1/8" tool to the left side of your stock, just touching it, you can just enter a -1.58 mm value into the ‘X’ number field, followed by hitting the return key.
I use this technique for setting the WCS in all dimensions (with the help of a feeler gauge for Z).
IMPORTANT: I have found out the hard way, that after entering each value the return key MUST be pressed to confirm the entry, otherwise the new value is displayed but not taken into account. It is NOT enough to just click or ‘Tab’ into another number field to enter the next value. This is IMHO a nasty UI bug in Carbide Motion, that hopefully gets fixed in an upcoming release.
I hope that helps. Best wishes.


Hmmmm interesting… I thought I did that, assuming that manually entering a (+ or -) would do what you just described, but nothing changed or happened. Maybe, as you illustrated, the return key is the key. However I have a windows laptop connected to my Nomad and I’m almost positive I used the enter Key (that’s the same as the return key for Apple right? or is it the shift key on windows that is the return key on apple?). Both my work station and laptop are linux/windows systems/ UI.

Edit:::: Wow, wait that’s it! I must not have pressed the enter key. I touched each side and zeroed them and then typed 1.85mm then hit enter (in hindsight should have been -1.85). Then asked it to home itself at the limit switches. Then clicked on rapid motion option, then current x,y offset. Then lowered the (z) to below the top of the stock and it was exactly 1.85mm of jog back to touching the stock. Thats why it should have been -1.85 like you said. Movement is +1.85mm but entering it would then be -1.85 from what I could see is the way it understands it. But yea! that seems to be exactly what I was talking about, no MDI code necessary. Bravo! I’m confused as to why this isn’t the obvious go-to procedure. Maybe I phrased my question wrong?

Glad to hear that this solved your issue.

I’m confused as to why this isn’t the obvious go-to procedure.

I appreciate the general aim of Carbide Motion to provide the essential functionality of a GCode sender and cutting the fluff. However, I personally find that this sometimes goes a little too far, occasionally crossing the threshold between simplified and impaired, especially regarding zeroing.
This is sometimes related to functionality that is present but hard to discover (work coordinates can be entered numerically) and/or implemented confusingly, (having to press Enter/Return).
Sometimes a little bit of extra functionality would go a long way of making life/work much easier:
• Give me a way to see the ‘Tool Tip Position’ in addition to ‘Work Position’ and ‘Machine Position’ (also hard to discover, by the way). The ‘Tool Tip Position’ would be identical to the ‘Machine Position’ for X and Y, but take the measured tool length into account for Z.
• Then give me a way to set the WCS by entering the associated ‘Tool Tip Position’ coordinates.
• Finally give me a way to set the target of a Rapid Position move numerically (ideally in any of the three coordinate systems), visualise the target in the existing worktable image for additional safety.
I frequently need to return to a number of zero positions, which are associated with certain work holding devices (and I assume others do so as well) and the suggested functionality would make this so much easier than it is now, where I manually have to jog to the associated machine coordinates and remeasure Z every time.

I understand where you are coming from. I realize I’ve only just started using my Nomad, but from years of having a 3D printer and the immense time I spent calibrating it, tearing it down piece by piece, rebuilding it, replacing components etc… I came to realization that 3D printers are really still in the “toy” category at the consumer level at least. Yet as soon as I opened my Nomad and started examining it, it was a night and day difference between it and any 3D printer, even printers that are 150-200% the price of the Nomad are no where near as capable. So what I am getting at with all this is, I think Carbide 3D is in a perfect position to become the gold standard of entry level prototyping across the board. So by adding more detailed functionality, maybe an “advanced” button to hit that would open up those functions that you mentioned would greatly expand the capability of the Nomad even if its just the ability to have more detailed functionality.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.