To overcome the limitations of G43 (axis moves by itself and actual Z coordinate is not shown), I wrote myself a macro that modifies the G55 work offset by the tool offset (I use a single WO for most of my work). So, instead of commmanding G43H02, I command M98P9043H02.

The macro has been working well up until today when I had to modify it to change all of the work offsets at once (G55 to G59). All of them change like they should (WO_new = WO_old + TO), except for G57. Instead, it does WO_new = WO_old + 0.1 * TO. I found out the hard way; the tool holder plunged into the fixture on the station corresponding to G57. Fortunately, it was a plastic fixture and the spindle tripped pretty quickly, so other than a big gouge, there was no real damage done.

I modified the macro to include a 10x multiplier, but I feel extremely uneasy in doing so. Is there a parameter that controls this? The machine use inches and metric (currently set for inches), but the manual shows several metric specs that are 10 times the inch number (i.e. it lists .001mm/.0001" as the minimum increments). My thought is that there is a parameter for G57 that didn't get changed.

Here's the macro:
%
O9043
(G43 - TOOL LENGTH SET)

(CANCEL CURRENT OFFSET)
#2702=#2702-#501 (G55)
#2703=#2703-#501 (G56)
#2704=#2704-#501*10 (G57)
#2705=#2705-#501 (G58)
#2706=#2706-#501 (G59)
#500=1 (RESET TOOL NUMBER)
#501=0 (RESET OFFSET VALUE)

(APPLY NEW OFFSET)
#500=#4111 (GET TOOL NUMBER FROM COMMAND)
#501=#[2000+#500] (RETRIEVE OFFSET)
#2702=#2702+#501 (G55)
#2703=#2703+#501 (G56)
#2704=#2704+#501*10 (G57)
#2705=#2705+#501 (G58)
#2706=#2706+#501 (G59)

M99
%

Any in will be greatly appreciated,
Chris Kirchen