0 BEGIN PGM 3255_EN MM 1 ;NC program for milling a contour with 2 ;Cycle 25 and then multipass-milling a 3 ;chamfer on the upper edge. 4 ;The control mills the chamfer in contour 5 ;lines. For the calculation of the contour 6 ;lines, the control reads tool radius 2 from 7 ;the tool table. By this means, machining 8 ;can be performed with an end mill, a 9 ;ball-nose cutter, or a toroid cutter 10 ;without you having to change anything in the 11 ;NC program. 12 ; 13 BLK FORM 0.1 Z X+0 Y+0 Z-20 14 BLK FORM 0.2 X+100 Y+100 Z+0 15 ; 16 ;Tool call for contour milling 17 TOOL CALL "MILL_D24_ROUGH" Z S6000 F2000 18 ; 19 L Z+100 R0 FMAX M3 ;Retract 20 ; 21 CYCL DEF 14.0 CONTOUR 22 CYCL DEF 14.1 CONTOUR LABEL10 23 CYCL DEF 270 CONTOUR TRAIN DATA ~ Q390=+2 ;TYPE OF APPROACH ~ Q391=+1 ;RADIUS COMPENSATION ~ Q392=+10 ;RADIUS ~ Q393=+90 ;CENTER ANGLE ~ Q394=+0 ;DISTANCE 24 CYCL DEF 25 CONTOUR TRAIN ~ Q1=-15 ;MILLING DEPTH ~ Q3=+0 ;ALLOWANCE FOR SIDE ~ Q5=+0 ;SURFACE COORDINATE ~ Q7=+50 ;CLEARANCE HEIGHT ~ Q10=-5 ;PLUNGING DEPTH ~ Q11=+150 ;FEED RATE FOR PLNGNG ~ Q12=+500 ;FEED RATE F. ROUGHNG ~ Q15=+1 ;CLIMB OR UP-CUT ~ Q18=+0 ;COARSE ROUGHING TOOL ~ Q446=+0.01 ;RESIDUAL MATERIAL ~ Q447=+10 ;CONNECTION DISTANCE ~ Q448=+2 ;PATH EXTENSION 25 M99 ;Cycle call 26 ; 27 ;Tool call for milling the chamfer 28 TOOL CALL "BALL_MILL_D10" Z S6000 F2000 29 ; 30 L Z+100 R0 FMAX M3 31 ; 32 ;Parameter input for chamfer 33 Q50 = 30 ;CHAMFER ANGLE 34 Q51 = 0.2 ;DISTANCE BETW. CONTOUR LINES 35 Q52 = 2.5 ;HORIZONTAL CHAMFER LENGTH 36 CALL LBL "CHAMFER" ;Subprogram call for milling the chamfer 37 ; 38 L Z+100 R0 FMAX ;Retract 39 M30 ;End of program 40 ; 41 ;Subprograms 42 LBL 10 ;Contour 43 L X+10 Y+10 44 L Y+90 45 CR X+90 Y+90 R+100 DR+ 46 L Y+10 47 CR X+10 Y+10 R+100 DR- 48 LBL 0 49 ; 50 ;Subprogram for chamfer 51 LBL "CHAMFER" 52 CYCL DEF 14.0 CONTOUR 53 CYCL DEF 14.1 CONTOUR LABEL10 54 Q49 = Q108 + 2 ;Radius for tangential approach 55 CYCL DEF 270 CONTOUR TRAIN DATA ~ Q390=+2 ;TYPE OF APPROACH ~ Q391=+1 ;RADIUS COMPENSATION ~ Q392=+Q49 ;RADIUS ~ Q393=+90 ;CENTER ANGLE ~ Q394=+0 ;DISTANCE 56 FN 18: SYSREAD Q65 = ID50 NR3 ;Read R2 from active tool 57 Q61 = 0 ;Z begin 58 LBL 1 59 Q60 = Q52 / ( TAN Q50 ) ;Z total depth 60 Q61 = Q61 + Q51 ;Calculate the Z coordinate of the new contour line 61 FN 11: IF +Q61 GT +Q60 GOTO LBL "END1" ;Check whether the new depth is greater than total depth 62 FN 9: IF +Q61 EQU +Q60 GOTO LBL "END1" ;Check whether new dpth is equals total depth 63 Q62 = Q61 + ( Q65 - SIN Q50 * Q65 ) ;Calculate the new Z coordinate, taking the tool radius R2 into account 64 Q63 = ( Q52 - TAN Q50 * Q61 ) + ( Q65 - COS Q50 * Q65 ) ;Calculate allowance for contour line 65 CYCL DEF 25 CONTOUR TRAIN ~ Q1=-Q62 ;MILLING DEPTH ~ Q3=-Q63 ;ALLOWANCE FOR SIDE ~ Q5=+0 ;SURFACE COORDINATE ~ Q7=+2 ;CLEARANCE HEIGHT ~ Q10=-Q62 ;PLUNGING DEPTH ~ Q11= AUTO ;FEED RATE FOR PLNGNG ~ Q12= AUTO ;FEED RATE F. ROUGHNG ~ Q15=+1 ;CLIMB OR UP-CUT ~ Q18=+0 ;COARSE ROUGHING TOOL ~ Q446=+0.01 ;RESIDUAL MATERIAL ~ Q447=+10 ;CONNECTION DISTANCE ~ Q448=+2 ;PATH EXTENSION 66 M99 ;Cycle call 67 FN 9: IF +0 EQU +0 GOTO LBL 1 ;Jump 68 ; 69 ;Subprogram for the last contour line 70 LBL "END1" 71 Q61 = Q60 ;Final depth 72 Q62 = Q61 + ( Q65 - SIN Q50 * Q65 ) ;Z coordinate, taking the tool radius R2 in account 73 Q63 = ( Q52 - TAN Q50 * Q61 ) + ( Q65 - COS Q50 * Q65 ) ;Calculate the allowance for the contour line 74 CYCL DEF 25 CONTOUR TRAIN ~ Q1=-Q62 ;MILLING DEPTH ~ Q3=-Q63 ;ALLOWANCE FOR SIDE ~ Q5=+0 ;SURFACE COORDINATE ~ Q7=+2 ;CLEARANCE HEIGHT ~ Q10=-Q62 ;PLUNGING DEPTH ~ Q11= AUTO ;FEED RATE FOR PLNGNG ~ Q12= AUTO ;FEED RATE F. ROUGHNG ~ Q15=+1 ;CLIMB OR UP-CUT ~ Q18=+0 ;COARSE ROUGHING TOOL ~ Q446=+0.01 ;RESIDUAL MATERIAL ~ Q447=+10 ;CONNECTION DISTANCE ~ Q448=+2 ;PATH EXTENSION 75 M99 ;Cycle call 76 L Z+20 R0 FMAX ;Retract 77 LBL 0 78 END PGM 3255_EN MM