Yes and no. (You had to know that was coming... ) It kind of works both ways.. one compensates for the tool's diameter via values stored in the tool table, the other compensates via offsets in the XY values of the gcode.
One way generates the code with known values for a specific tool's diameter. All the moves are calculated by adding the tool's radius to the X and Y values, compensating in the appropriate direction. This will offset the path of the tool, placing the edge of the tool on the desired dimension. So if you were making a cut at X 10.000 and had a cutter that was 1.00 in diameter, the Gcodes you would see would be, depending on the direction and they type of cut, X9.500 or X10.500.
The other way, risky, prone to machine errors, but easier to program and use different sized tools on, is part line programming. With this method, you are storing the tools diameter into a tool table on the controller. You enter the tools diameter (or radius depending on the settings) and program the part to X10.000 and use the values in the table to offset the tool to achieve the actual 10.000.
While the latter method is easier to program by hand, it is more prone to errors at the control. You must allow for sufficient room for the tool to offset itself to the proper location, which is not always feasible or desirable.
There's a bit more to it than that, but that should keep you guessing for a while.
'Rekd
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)