0 BEGIN PGM 3250_EN MM 1 ;NC program for machining a contour with 2 ;Cycle 25 and then rounding the upper edge 3 ;with a radius. 4 ;The control multipass-mills in contour lines. 5 ;For the calculation of the contour lines, the 6 ;control reads tool radius 2 from the tool 7 ;table. 8 ;By this means, the control can preform the 9 ;machining operation with an end mill, a 10 ;ball-nose cutter, or a toroid cutter, 11 ;without you needing to change anything in 12 ;the NC program. 13 ; 14 BLK FORM 0.1 Z X+0 Y+0 Z-20 15 BLK FORM 0.2 X+100 Y+100 Z+0 16 ; 17 ;Tool call for contour milling 18 TOOL CALL "MILL_D24_ROUGH" Z S6000 F2000 19 ; 20 L Z+100 R0 FMAX M3 ;Retract 21 ; 22 CYCL DEF 14.0 CONTOUR 23 CYCL DEF 14.1 CONTOUR LABEL10 24 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 25 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 26 M99 ;Cycle call 27 ; 28 ;Tool call for radius 29 TOOL CALL "TORUS_MILL_D16_3" Z S6000 F2000 30 ; 31 L Z+100 R0 FMAX M3 ;Retract 32 ; 33 ;Enter parameters for rounding arc 34 Q50 = 6 ;EDGE RADIUS 35 Q51 = 3 ;INFEED IN DEGREES 36 CALL LBL "RADIUS" ;Call subprogram for milling of radius 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 the radius 51 LBL "RADIUS" 52 CYCL DEF 14.0 CONTOUR 53 CYCL DEF 14.1 CONTOUR LABEL10 54 CYCL DEF 270 CONTOUR TRAIN DATA ~ Q390=+2 ;TYPE OF APPROACH ~ Q391=+1 ;RADIUS COMPENSATION ~ Q392=+0 ;RADIUS ~ Q393=+0 ;CENTER ANGLE ~ Q394=+0 ;DISTANCE 55 FN 18: SYSREAD Q65 = ID50 NR3 ;Read R2 of the aktive tool 56 Q61 = 0 ;Starting angle 57 LBL 1 ;Label 58 Q61 = Q61 + Q51 ;Increment the angle 59 FN 11: IF +Q61 GT +90 GOTO LBL "END1" ;Check whether angle is greater than 90 degrees 60 FN 9: IF +Q61 EQU +90 GOTO LBL "END1" ;Check, whether the angle is equal to 90 degrees 61 Q62 = ( Q50 - COS Q61 * Q50 ) + ( Q65 - COS Q61 * Q65 ) ;Calculate the milling depth for contour lines 62 Q63 = ( Q50 - SIN Q61 * Q50 ) + ( Q65 - SIN Q61 * Q65 ) ;Calculate allowance for contour lines 63 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 64 M99 ;Cycle call 65 FN 9: IF +0 EQU +0 GOTO LBL 1 ;Program jump 66 ; 67 ;Subprogram for the last contour line 68 LBL "END1" 69 Q61 = 90 ;End angle 70 Q62 = ( Q50 - COS Q61 * Q50 ) + ( Q65 - COS Q61 * Q65 ) ;Depth of the last contour line 71 Q63 = ( Q50 - SIN Q61 * Q50 ) + ( Q65 - SIN Q61 * Q65 ) ;Allowance for the last contour line 72 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 73 M99 ;Cycle call 74 L Z+20 R0 FMAX ;Retract 75 LBL 0 76 END PGM 3250_EN MM