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
Surface and 2.5D machining 1:
Path feed rate with interpolation of secant contour (64 interpolation points)

The feed rate fluctuates quite significantly since the non-linear slope reduces the velocity to 0 at the corners of the linear blocks.

Surface and 2.5D machining 2:
Path feed rate with spline curve interpolation (64 interpolation points)

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.