Monday, December 20, 2010

COMMON PROG FOR CONVEX CORNER RADIUS

$1702
(COMMON PROG FOR CONVEX CORNER RADIUS)
(***PROG DONE BY SRIRAM ON 10-10-08***)
N1(C-MILL FOR Ø82MM WITH R5MM CORNER RADIUS - USE Ø50MM FACEMILL W/R0.25 INSERT)
G72$START[H=901,S=400,W=0,T=0]
G0X0Y0
Z6.0M3
G1Z2F100.0M8
Z0F50.0
G72$CONVEX[VA=1,VB=3.2283,VC=1.9685,VD=0.01,VF=30.0,VR=0.1968,VT=0.25]
G0G90Z6.0M9
G72$END
M30
(VA= SURFACE FINISH;1=ROUGH,2=FINE)
(VB= BORE DIA)
(VC= CUTTER DIA)
(VD= ALLOWANCE IN DIA)
(VF= FEED RATE)
(VR= CONVEX CORNER RADIUS)
(VT= CUTTER TIP RADIUS)
$CONVEX
[IF,VB[IF,VA=0,GO,100]
[IF,VA>2,GO,100]
[IF,VA=1,V1=10.0,V2=10.0,V3=90.0]
[IF,VA=2,V1=5.0,V2=5.0,V3=90.0]
[VB=VB-VD](BORE-ALLOWANCE)
[VB=VB+[VR*2]]
[V4=[[VB-VC]/2]+VT]
[V5=VR+VT]
N101
[V6=V5-[COS[V1]*V5]](DEPTH)
[V7=SIN[V1]*V5] (OFFSET)
G1X[V4-V7]F[VF] (OFFSET POSITION)
Z-[V6]F6.0 (PECKING DP)
G90G3I-[V4-V7]J0
[V1=V1+V2]
[IF,V1<=V3,GO,-101]
[GO,102]
N100[V800=1(INPUT ERROR),G0,100]
N102
G1X0Y0
G0G90Z0M9
M02

Friday, August 1, 2008

TOSNUC MACRO FOR CLOSED SLOT

$003
(**PROG FOR CLOSED SLOT**)
(***PROG DONE BY SRIRAM ON 5-12-07***)

N1(CLOSED SLOT OF 5"LGX2"WIDTH -USE DIA 1" ENDMILL)
G72$START[H=901,S=300,W=0,T=0]
G0X0Y0
Z6.0M3
G1Z2F100.0M8
Z0F10.0
G72$SLMILL[VL=5.0,VW=2.0,VC=1.0,VF=6.0,VD=0.03]
G0G90Z6.0M9
G72$END
M30

$SLMILL
[V2=VW-VD]
[V3=VL-[VD/2]]
[V4=V2/2]
[V5=VC/2]
[V6=V4-V5]

G1G91X-[0.5*V6]Y[0.5*V6]F[VF]
G2X[0.5*V6]Y[0.5*V6]R[V5]
X[V6]Y-[V6]R[V6]
G1Y-[V3]
G2X-[V6*2]Y0R[V6]
G1Y[V3]
G2X[V6]Y[V6]R[V6]
X[0.5*V6]Y-[0.5*V6]R[V5]
G1X-[0.5*V6]Y-[0.5*V6]
G0G90Z6.0
M02

(VL= LENGTH OF SLOT ie.CENTRE TO CENTRE)
(VW= WIDTH OF SLOT)
(VC= CUTTER DIA)
(VF= FEED RATE)
(VD= ALLOWANCE)

FANUC MACRO CIRCLE MILL

%
O225
(MACRO CIRCLE MILL FINISH)
(PROG DONE BY SRIRAM ON 03-05-08)

(>>> G54 WPC -> XY CEN & Z ON DRILL FACE SEE DWG ...)

N1(BORE DIA 3.0 - USE Ø1"EM)
M98P7000
G54X2.0Y2.0S300M3
G43H1Z6.0
G1Z2.0F100.0M8
Z0F10.0
G65P1702 B[3.0/2] C[1.0/2] D0.01 F20.0
G0G90G80Z6.0M9
M98P7100
M30

O1702
#2=#2-#7
IF[#3GT#2]GOTO600
#24=#5041
#25=#5042
G1X#24Y#25
G1X[#24+[[#2-#3]/2]+[[[#2-#3]/2]]*SIN[45.]]Y[#25-[[[#2-#3]/2]]*SIN[45.]]F#9
G3X[#24+#2-#3] Y[#25] R[[#2-#3]/2]
G3I-[#2-#3]
G3X[#24+[[#2-#3]/2]+[[[#2-#3]/2]]*SIN[45.]]Y[#25+[[[#2-#3]/2]]*SIN[45.]]R[[#2-#3]/2]
G1X#24Y#25
GOTO500
N600#3000=1(ERROR CUTTER RADIUS IS TOO BIG)
N500M99
%
(B = BORE RADIUS)
(C = CUTTER RADIUS)
(D = ALLOWANCE /SIDE)
(F = FEEDRATE)

TOSNUC MACRO TAPER BORE

$555
(PROG FOR TAPER BORE FOR ANY ANGLES WITH RADIUS INSERTS)
(***PROG DONE BY SRIRAM ON 05-06-07***)

N1(Ø5"MAJOR DIA FOR 30'ANGLE MILL -USE DIA 2"FACE MILL X R3.2MM)
G72$START[H=901,S=800,W=0,T=0]
G0X0Y0
Z6.0M3
G1Z2F100.0M8
Z0F10.0
G72$FINTAP[VD=5.0,VZ=2.0,VQ=0.05,VA=30.0,VC=2.0,VR=0.125,VF=50.0]
G0G90Z6.0M9
G72$END
M30

VD = MAJOR DIA
VZ = FINAL DEPTH
VQ = DEPTH OF CUT
VA = ANGLE FROM HORIZONTAL
VC = CUTTER DIA
VR = CUTTER CORNER RADIUS IN INCHES
VF = FEED RATE

$FINTAP
[V1=[VD/2]-[VZ*TAN[VA]]]
[IF,V1[V2=[[VD-VC]/2]]
[V3=[VR-[VR*COS[VA]]]/TAN[VA]]
[V4=[[VR-[VR*SIN[VA]]]+V3]*TAN[VA]]
[V5=V4+V2]
[V10=FOMT[VZ/VQ]+1]
[V11=0]
G1Z[VQ]F100.0

N101
[V11=V11+1]
G1G91Z-[VQ]F1.0
G90X[V5]F5.0
G2I-[V5]J0F[VF]
[V5=V5-[VQ*TAN[VA]]]
[IF,V11=V10,GO,102]
G1X[V5]
[GO,-101]
N100[V800=1(PREFER SMALLER CUTTER),G0,100]
N102
G0G90Z6.0M9
M02

TOSNUC MACRO FOR BOTTOM CORNER RADIUS

$1702
(COMMON PROG FOR BTM CORNER RADIUS)
(***PROG DONE BY SRIRAM ON 16-07-08***)

N1(C-MILL FOR R1.0 BTM CORNER RADIUS - USE Ø100MM FACEMILL W/R0.25 INSERT)
G72$START[H=901,S=400,W=0,T=0]
G0X0Y0
Z6.0M3
G1Z2F100.0M8
Z0F50.0
G72$BTMRAD[VA=1,VB=7.0,VC=3.937,VD=0.01,VE=10.0,VF=30.0,VR=0.9,VT=0.25]
G0G90Z6.0M9
G72$END
M30

(VA= SURFACE FINISH;1=ROUGH,2=FINE)
(VB= BORE DIA)
(VC= CUTTER DIA)
(VD= ALLOWANCE IN DIA)
(VE= CAVITY FINAL DEPTH)
(VF= FEED RATE)
(VR= BOTTOM CORNER RADIUS)
(VT= CUTTER TIP RADIUS)

$BTMRAD
[IF,VB2,GO,100]
[IF,VR<=VT,GO,100]
[IF,VA=1,V1=2.5,V2=2.5,V3=90.0]
[IF,VA=2,V1=1.5,V2=1.5,V3=90.0]

[V9=[[VE-VR]+VT]]
[VB=VB-VD](BORE-ALLOWANCE)
[V4=[VB/2]-[VC/2]]
[V5=VR-VT]
G1G90Z-[V9]F100.0

N101
[V6=SIN[V1]*V5] (DEPTH)
[V7=COS[V1]*V5] (OFFSET)
[V8=V5-V7]
G1X[V4-V8]F[VF] (OFFSET POSITION)
Z-[V9+V6]F6.0 (PECKING DP)
G3I-[V4-V8]J0
[V1=V1+V2]
[IF,V1<=V3,GO,-101]
[GO,102]
N100[V800=1(INPUT ERROR),G0,100]
N102
G0G90Z0M9
M02