0 BEGIN PGM 5090-en MM 1 ;In this program a rectangular stud and a 2 ;rectangular pocket are milled on a tilted 3 ;working plane. Then chamfers are milled, with 4 ;an inclined tool, on the contours. The pocket 5 ;and the stud are programed with cycles. For 6 ;the chamfers, you must define the parameters 7 ;from which the control calculates the tool 8 ;path. 9 ; 10 BLK FORM 0.1 Z X-50 Y-50 Z-40 11 BLK FORM 0.2 X+50 Y+50 Z+10 12 TOOL CALL 8 Z S12000 F5000 ;Cutter diameter 16 13 * - Reset 14 M129 15 CYCL DEF 7.0 DATUM SHIFT 16 CYCL DEF 7.1 X+0 17 CYCL DEF 7.2 Y+0 18 CYCL DEF 7.3 Z+0 19 PLANE RESET STAY 20 M3 21 * - Tilt working plane 22 PLANE SPATIAL SPA+15 SPB+0 SPC+0 TURN MB100 FMAX 23 CYCL DEF 232 FACE MILLING ~ Q389=+2 ;STRATEGY ~ Q225=-50 ;STARTNG PNT 1ST AXIS ~ Q226=-60 ;STARTNG PNT 2ND AXIS ~ Q227=+20 ;STARTNG PNT 3RD AXIS ~ Q386=+0 ;END POINT 3RD AXIS ~ Q218=+100 ;FIRST SIDE LENGTH ~ Q219=+120 ;2ND SIDE LENGTH ~ Q202=+20 ;MAX. PLUNGING DEPTH ~ Q369=+0 ;ALLOWANCE FOR FLOOR ~ Q370=+1 ;MAX. OVERLAP ~ Q207= AUTO ;FEED RATE FOR MILLNG ~ Q385= AUTO ;FINISHING FEED RATE ~ Q253= MAX ;F PRE-POSITIONING ~ Q200=+2 ;SET-UP CLEARANCE ~ Q357=+2 ;CLEARANCE TO SIDE ~ Q204=+50 ;2ND SET-UP CLEARANCE 24 L X+0 Y+0 Z+100 R0 FMAX M3 M99 25 CYCL DEF 251 RECTANGULAR POCKET ~ Q215=+0 ;MACHINING OPERATION ~ Q218=+60 ;FIRST SIDE LENGTH ~ Q219=+50 ;2ND SIDE LENGTH ~ Q220=+10 ;CORNER RADIUS ~ Q368=+0 ;ALLOWANCE FOR SIDE ~ Q224=+0 ;ANGLE OF ROTATION ~ Q367=+0 ;POCKET POSITION ~ Q207= AUTO ;FEED RATE FOR MILLNG ~ Q351=+1 ;CLIMB OR UP-CUT ~ Q201=-10 ;DEPTH ~ Q202=+10 ;PLUNGING DEPTH ~ Q369=+0 ;ALLOWANCE FOR FLOOR ~ Q206= AUTO ;FEED RATE FOR PLNGNG ~ Q338=+0 ;INFEED FOR FINISHING ~ Q200=+2 ;SET-UP CLEARANCE ~ Q203=+0 ;SURFACE COORDINATE ~ Q204=+50 ;2ND SET-UP CLEARANCE ~ Q370=+1 ;TOOL PATH OVERLAP ~ Q366=+1 ;PLUNGE ~ Q385=+500 ;FINISHING FEED RATE 26 L X+0 Y+0 R0 FMAX M3 M99 27 CYCL DEF 256 RECTANGULAR STUD ~ Q218=+80 ;FIRST SIDE LENGTH ~ Q424=+100 ;WORKPC. BLANK SIDE 1 ~ Q219=+65 ;2ND SIDE LENGTH ~ Q425=+120 ;WORKPC. BLANK SIDE 2 ~ Q220=+10 ;CORNER RADIUS ~ Q368=+0 ;ALLOWANCE FOR SIDE ~ Q224=+0 ;ANGLE OF ROTATION ~ Q367=+0 ;STUD POSITION ~ Q207= AUTO ;FEED RATE FOR MILLNG ~ Q351=+1 ;CLIMB OR UP-CUT ~ Q201=-10 ;DEPTH ~ Q202=+10 ;PLUNGING DEPTH ~ Q206=+3000 ;FEED RATE FOR PLNGNG ~ Q200=+2 ;SET-UP CLEARANCE ~ Q203=+0 ;SURFACE COORDINATE ~ Q204=+50 ;2ND SET-UP CLEARANCE ~ Q370=+1 ;TOOL PATH OVERLAP ~ Q437=+0 ;APPROACH POSITION 28 L X+0 Y+0 R0 FMAX M3 M99 29 ; 30 * - Parameters first chamfer 31 Q1 = 2 ;CHAMFER LENGTH 32 Q2 = 30 ;CHAMFER ANGLE 33 Q13 = 60 ;LENGTH X 34 Q3 = 50 ;WIDTH Y 35 Q5 = 10 ;RADIUS 36 Q4 = 1 ;1=INSIDE 2=OUTSIDE PROCESSING 37 TOOL CALL DL-0.5 ;Overflow to get smooth edges 38 CALL LBL "chamfer" 39 ; 40 * - Parameters secound chamfer 41 Q1 = 2 ;CHAMFER LENGTH 42 Q2 = 30 ;CHAMFER ANGLA 43 Q13 = 80 ;LENGTH X 44 Q3 = 65 ;WIDTH Y 45 Q5 = 10 ;RADIUS 46 Q4 = 2 ;1=INSIDE 2=OUTSIDE PROCESSING 47 TOOL CALL DL-0.5 ;Overflow to get smooth edges 48 CALL LBL "chamfer" 49 ; 50 FUNCTION RESET TCPM 51 * - Move to a save position 52 L Z+500 R0 FMAX M91 53 L X+800 Y+600 R0 FMAX M91 54 * - Reset tilted working plane 55 PLANE RESET TURN FMAX 56 * - End of program 57 M30 58 * - Sub programs 59 LBL "chamfer" 60 ;Query whether inside or outside processing 61 FN 9: IF +Q4 EQU +1 GOTO LBL "inside" 62 FN 9: IF +Q4 EQU +2 GOTO LBL "outside" 63 STOP 64 ;Please choose Q4 -inside or outside processing 65 ; 66 LBL "inside" 67 FUNCTION TCPM F TCP AXIS SPAT PATHCTRL VECTOR 68 FN 11: IF +Q5 GT +0 GOTO LBL "radius" 69 Q5 = Q108 70 LBL "radius" 71 Q10 = Q108 * ( COS Q2 ) ;Calculation tool radius correction 72 Q11 = ( Q3 / 2 ) - Q10 ;Width Y - tool radius correction 73 QL11 = Q5 - Q10 74 Q21 = ( Q3 / 2 ) - Q5 ;Center CC Y 75 Q31 = ( Q13 / 2 ) - Q5 ;Center CC X 76 Q12 = ( Q1 / TAN Q2 ) - ( SIN Q2 * Q108 ) ;Tool correction Z-axis 77 QL13 = Q11 - Q108 ;Preposition Y 78 QL12 = Q12 - 2 ;Preposition Z 79 L X-Q108 Y-QL13 Z+50 R0 FMAX 80 L A+Q2 B+0 C+0 R0 FMAX ;Important to enter all three rotarz axis,~ because Function TCPM ... AXIS SPAT is used 81 L Z-QL12 R0 F AUTO 82 CC X+0 Y-QL13 83 CP PA-90 Z-Q12 DR+ 84 L X+Q31 85 ; 86 QL1 = 270 87 LBL 1 88 QL1 = QL1 + 1 89 QL2 = QL11 * COS QL1 90 QL3 = QL11 * SIN QL1 91 QL2 = Q31 + QL2 92 QL3 = Q21 - QL3 93 L X+QL2 Y-QL3 IC+1 94 CALL LBL 1 REP89 95 L Y+Q21 96 QL1 = 0 97 LBL 2 98 QL1 = QL1 + 1 99 QL2 = QL11 * COS QL1 100 QL3 = QL11 * SIN QL1 101 QL2 = Q31 + QL2 102 QL3 = Q21 + QL3 103 L X+QL2 Y+QL3 IC+1 104 CALL LBL 2 REP89 105 L X-Q31 106 QL1 = 90 107 LBL 3 108 QL1 = QL1 + 1 109 QL2 = QL11 * COS QL1 110 QL3 = QL11 * SIN QL1 111 QL2 = Q31 - QL2 112 QL3 = Q21 + QL3 113 L X-QL2 Y+QL3 IC+1 114 CALL LBL 3 REP89 115 L Y-Q21 116 QL1 = 180 117 LBL 4 118 QL1 = QL1 + 1 119 QL2 = QL11 * COS QL1 120 QL3 = QL11 * SIN QL1 121 QL2 = Q31 - QL2 122 QL3 = Q21 - QL3 123 L X-QL2 Y-QL3 IC+1 124 CALL LBL 4 REP89 125 L X+0 126 CC X+0 Y-QL13 127 CP PA+0 Z-QL12 DR+ 128 L Z+15 R0 FMAX 129 M140 MB+50 130 M129 131 ; 132 FN 9: IF +0 EQU +0 GOTO LBL "end" 133 ; 134 LBL "outside" 135 FUNCTION TCPM F TCP AXIS SPAT PATHCTRL VECTOR 136 Q10 = Q108 * ( COS Q2 ) ;Calculation tool radius correction 137 Q11 = ( Q3 / 2 ) + Q10 ;Width Y + tool radius correction 138 QL11 = Q5 + Q10 139 Q12 = ( Q1 / TAN Q2 ) - ( SIN Q2 * Q108 ) ;Tool correction Z-axis 140 Q21 = ( Q3 / 2 ) - Q5 ;Center CC Y 141 Q31 = ( Q13 / 2 ) - Q5 ;Center CC X 142 QL13 = Q11 + Q108 ;Preposition Y 143 QL12 = Q12 - 2 ;Preposition Z 144 L X+Q108 Y-QL13 Z+50 R0 FMAX 145 L A-Q2 B+0 C+0 R0 FMAX ;Important to enter all three rotary axis,~ because Function TCPM ... AXIS SPAT is used 146 L Z-QL12 R0 F AUTO 147 CC X+0 Y-QL13 148 CP IPA+90 Z-Q12 DR+ 149 L X-Q31 150 ; 151 QL1 = 270 152 LBL 10 153 QL1 = QL1 - 1 154 QL2 = QL11 * COS QL1 155 QL3 = QL11 * SIN QL1 156 QL2 = Q31 - QL2 157 QL3 = Q21 - QL3 158 L X-QL2 Y-QL3 IC-1 159 CALL LBL 10 REP89 160 L Y+Q21 161 QL1 = 180 162 LBL 20 163 QL1 = QL1 - 1 164 QL2 = QL11 * COS QL1 165 QL3 = QL11 * SIN QL1 166 QL2 = Q31 - QL2 167 QL3 = Q21 + QL3 168 L X-QL2 Y+QL3 IC-1 169 CALL LBL 20 REP89 170 L X+Q31 171 QL1 = 90 172 LBL 30 173 QL1 = QL1 - 1 174 QL2 = QL11 * COS QL1 175 QL3 = QL11 * SIN QL1 176 QL2 = Q31 + QL2 177 QL3 = Q21 + QL3 178 L X+QL2 Y+QL3 IC-1 179 CALL LBL 30 REP89 180 L Y-Q21 181 QL1 = 0 182 LBL 40 183 QL1 = QL1 - 1 184 QL2 = QL11 * COS QL1 185 QL3 = QL11 * SIN QL1 186 QL2 = Q31 + QL2 187 QL3 = Q21 - QL3 188 L X+QL2 Y-QL3 IC-1 189 CALL LBL 40 REP89 190 L X+0 191 CC X+0 Y-QL13 192 CP PA+180 Z-QL12 DR+ 193 L Z+15 R0 FMAX 194 M140 MB+50 195 M129 196 ; 197 LBL "end" 198 LBL 0 199 END PGM 5090-en MM