You can use the loaded tool numbered or named parameters in G Code.
5400 - Tool Number. Volatile.
5401-5409 - Tool Offsets for X, Y, Z, A, B, C, U, V & W. Set by G43. Volatile.
5410 - Tool Diameter. Volatile.
5411 - Tool Front Angle. Volatile.
5412 - Tool Back Angle. Volatile.
5413 - Tool Orientation. Volatile.
#<_tool_offset> - Return 1 if tool offset (G43) is on, else 0.
#<_current_tool> - Return number of the current tool in spindle. Same as #5400.
#<_current_pocket> - Return the tool data index for the current tool.
#<_selected_tool> - Return number of the selected tool post a T code. Default -1.
#<_selected_pocket> - Return the tool data index of the selected pocket post a T code. Default -1 (no pocket selected).
You can use O Codes to do calculations.
linuxcnc.org/docs/stable/html/gcode/o-code.html
This might be a lot easier to do in Flex GUI where you can do calculations in Python.
JT