Surface and 2.5D machining
Programming Example
Surface
%L uprg_secant
N01 #AKIMA TRANS[START=TANGENTIAL END=TANGENTIAL]
N01 P5 = 80 ( radius )
N02 P3 = 64 ( number of interpolation points )
N03 P4 = 360/P3 ( angle gradations )
N04 G01 X-P5 F20
N05 X0
N06 G151 ( select spline )
N07 $FOR P1=1, P3, 1
N08 P2=P1*P4 F20
N09 X=P5*SIN[P2] Y=P5*[1.0-COS[P2]] ( calculate secant interpolation points )
N10 $ENDFOR
N11 G150 ( deselect spline )
N12 XP5
M29
%L uprg_cir
N01 P5 = 80 ( radius )
N02 G01 X-P5 Y0 F20
N03 X0
N04 G03 JP5
N05 G01 XP5
M29
%Main
N100 LL uprg_secant
N200 LL uprg_cir
M30
The feed rate fluctuates quite significantly since the non-linear slope reduces the velocity to 0 at the corners of the linear blocks.
When the spline function is used, the interpolation time within the approximated circle drops to about 1/10 of the value for linear interpolation; the programmed feed rate is achieved.