Programming example
Programing Example
Remove residual material
T9 D9 ( Tool data )
M6 ( Tool change )
G00 G90 M03 S6000 F5000 ( Technology data )
G00 Z100 ( Go to z start position )
G00 X0 Y0 ( Go to start position )
; cycle call parameter:
#VAR
V.L.SurfacePosition = 0 ( Z position of workpiece surface )
V.L.RetractionPlane = 100 ( Z position of retraction plane )
V.L.SafetyClearance = 10 ( relative value of safety clearance )
V.L.FeedRateXY = 2000 ( machining feedrate in XY )
V.L.FeedRateZ = 1000 ( plunging feedrate )
V.L.Direction = 2 ( clockwise machining )
V.L.DepthOfPocket = 20 ( depth of pocket )
V.L.MaxIncrementZ = V.L.DepthOfPocket / 2 ( maximum infeed in Z )
V.L.MaxIncrementXY = V.G.WZ_AKT.R ( maximum infeed in XY )
V.L.MachiningMode = 1 ( roughing )
V.L.RadiusReferenceCycle = V.G.WZ_AKT.R ( radius of reference cycle )
#ENDVAR
; circular pocket definition:
#CONTOUR BEGIN[ID = 1]
G1 G90 X50 Y0
G02 G161 X-50 Y0 I0 J0
G02 G161 X50 Y0 I0 J0
#CONTOUR END
; island (with residual material) definition:
#CONTOUR BEGIN[ID = 2]
G1 G90 X-10 Y-10
G1 X10 Y-10
G1 X10 Y-3
G1 X-5 Y-3
G1 X-5 Y3
G1 X10 Y3
G1 X10 Y10
G1 X-10 Y10
G1 X-10 Y-10
#CONTOUR END
G0 ZV.L.RetractionPlane
; pocket milling cycle call:
L CYCLE [NAME = SysMillContourPocket.ecy @P1 = V.L.SurfacePosition, \
@P2 = V.L.RetractionPlane, @P3 = V.L.SafetyClearance \
@P4 = V.L.DepthOfPocket @P5 = V.L.MachiningMode @P6 = V.L.Direction\
@P7 = V.L.MaxIncrementZ @P8 = V.L.FeedRateZ \
@P9 = V.L.MaxIncrementXY @P10 = V.L.FeedRateXY @P50= 1 @P51= 2 ]
; tool change:
T8 D8 ( Tool data )
M6 ( Tool change )
G00 G90 M03 S8000 F5000 ( Technology data )
; residual milling cycle call:
V.L.MaxIncrementXY = V.G.WZ_AKT.R ; adapt increment to new tool
L CYCLE [NAME = SysMillContourResidual.ecy @P1 = V.L.SurfacePosition, \
@P2 = V.L.RetractionPlane, @P3 = V.L.SafetyClearance \
@P4 = V.L.DepthOfPocket @P5 = 1 @P6 = V.L.Direction @P7 = V.L.MaxIncrementZ\
@P8 = V.L.FeedRateZ @P9 = V.L.MaxIncrementXY @P10 = V.L.FeedRateXY\
@P50= 1 @P51= 2 @P13 = V.L.RadiusReferenceCycle ]
M30