I’ve been doing some scratch engraving lately, where the tool bit is only 0.005 or so into the workpiece, so you just have a thin line left on the surface.
As you might imagine, unless your workpiece is nearly perfectly flat, you will have some variation in the depth of the scratch, and might end up with a much more noticeable groove, or the tool might not even tough the surface.
My workaround up until now has been to scratch engrave at a depth that seems right, and if it’s going too deep, pausing the work, re-zeroing up or down a few 0.001’s, and resuming the work.
This still leaves me with some portions that are un-cut unless i’m redoing this every move. This is very labor and coding intensive since I have to manually go in and cut out parts of the gcode that don’t need to be run again, hoping that I don’t delete the wrong part or end up with a G0 command left un-specified (potentially running a scratch across the whole surface while traversing).
My “attempt” at rezeroing on the fly has been to write a bit of code for a macro:
G01 z0.001 G38.2 Z0.000 G01 Z-0.005 macro1: “up 0.001”
G01 -z0.001 G38.2 Z0.000 G01 Z-0.005 macro1: “down 0.001”
which pulls it up to 0.001 above (or below) zero, rezeros there, and returns it back to required cutting depth of 0.005 (for my scratch engraving).
As you might imagine this is very slow, moving the cutting head off and onto the surface.
And this only works for fixed-depth cutting, where it’s only ever supposed to cut at 0.005.
What would be ideal for my circumstance is to be able to incrementally adjust z-axis zero “on the fly” without the motion. That way when I start V-carving, where Z is always going in and out, and not always cutting at a fixed depth, I can similarly monitor the cut, and fine-tune the depth as it goes.
Is there a way to do just declare “z axis zero is now + 0.001 relative to where it is now, for the rest of the cut” or “…-0.001…”?
I looked into using G38.2 in relative (G91) mode, but apparently G38.2 ignores that and just assumes you are in absolute mode (G90).
Is there a way to do it with WCS or something?