Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Writing and Executing Motion Programs
 
305
 
Three-Dimensional Cutter Radius Compensation 
Turbo PMAC provides the capability for performing three-dimensional (3D) cutter (tool) radius 
compensation on the moves it performs.  This compensation can be performed among the X, Y, and Z 
axes which should be physically perpendicular to each other (even if the motors assigned to the axes are 
not).  Unlike the more common two-dimensional (2D) compensation, you can specify independently the 
offset vector normal to the cutting surface, and the tool orientation vector.   
The 3D compensation algorithm automatically uses this data to offset the described path of motion, 
compensating for the size and shape of the tool.  This permits you to program the path along the surface 
of the part, letting Turbo PMAC calculate the path of the center of the end of the tool. 
3D compensation is valid only in LINEAR and CIRCLE move modes, and is really intended only for 
LINEAR moves. 
A note on terminology: Much of the documentation on the older two-dimensional cutter-radius 
compensation refers to just “cutter-radius compensation”, since there was no 3D compensation at the 
time.  Documentation specific to 3D compensation will always specify “3D” compensation. 
Defining the Magnitude of 3D Compensation 
The magnitude of 3D compensation is determined by two user-declared radius values.  The first of these 
is the radius of the rounded end of the cutter, set by the buffered motion program command CCR{data} 
(Cutter Compensation Radius).  This command can take either a constant argument (e.g. CCR2.35) or an 
expression in parentheses (e.g. CCR(Q20-0.001)).  The units of the argument are the user units of the 
X, Y, and Z-axes.  In operation, the compensation first offsets the path by the cutter’s end radius along the 
surface-normal vector (see below). 
TR
TR
TR
CCR=0
0<CCR<TR
CC
R
CC
R
CCR=TR
3D Compensation: Cutting Tool Cross Sections
 
The second value is the tool radius itself, the radius of the shaft of the tool.  This is set by the buffered 
motion program command TR{data} (Tool Radius).  This command can take either a constant 
argument (e.g. TR7.50) or an expression in parentheses (e.g. TR(7.50-Q99)).  The units of the 
argument are the user units of the X, Y, and Z-axes.  In operation, the compensation next offsets the path 
by an amount equal to the tool radius minus the cutter’s end radius, perpendicular to the “tool-orientation” 
vector (see below). 
A flat-end cutter will have a cutter-end radius of zero.  A ball-end cutter (hemispherical tip) will have a 
cutter-end radius equal to the tool (shaft) radius.  Other cutters will have a cutter-end radius in between 
zero and the tool radius. 
Turning on 3D Compensation 
3D cutter compensation is turned on by the buffered motion program command CC3.  Since the offset 
vector is specified explicitly, there is no left or right compensation here.  When 3D compensation is 
turned on, the surface-normal vector is set to the null (zero-magnitude) vector automatically, and the tool-
orientation vector is also set to the null vector automatically.