	Machine:		WMW BMT 125

	File Name:		BMT125_H.TMP

	Created by:		Mike Deren

	Date:			December 26, 2002

	Revised:		August 8, 2003

	Created in:		SmartCAM FreeForm V11.5

	Last modified in: SmartCAM FreeForm V11.5

	Verified by:	Mike Deren


@COOLANT
0,M09
1,M08
2,M07

@START
#ONBLK BEGIN PGM #FILE INCH
 BLK FORM 0.1 Z X0 Y0 Z0
 BLK FORM 0.2 X0 Y0 Z0
 L Z+20 R0 F MAX
#IF(#SPEED>1900)<#EVAL(#FEED=(#FEED/#SPEED)*1900)#EVAL(#SPEED=1900)>
#ONBLK TOOL CALL #TOOL Z S#SPEED
//#EVAL(#V1=TL(TL_LEN))
//#EVAL(#NHOL=1)
#EVAL(#XSET=0)
#EVAL(#XOV=0)

@TOOLCHG
#EVAL(#V2=0)
#EVAL(#XSET=0)
//#EVAL(#NHOL=1)
#ONBLK L Z+20 F MAX M09
 L Y+15 F MAX
#IF(#SPEED>1900)<#EVAL(#FEED=(#FEED/#SPEED)*1900)#EVAL(#SPEED=1900)>
#ONBLK TOOL CALL #TOOL Z S#SPEED
//#EVAL(#V1=TL(TL_LEN))
//#ONBLK L Z+20 R0 F MAX
#RESET(#SPNDL)

@END
#ONBLK L Z+20 F MAX M09
 L X0.0 Y0.0 F MAX M30
 END PGM #FILE INCH

@STPROF
< L Z#ZPOS R0 F MAX>
< L X#XPOS Y#YPOS R0 F MAX M03>

@ENDPROF
#EVAL(#V14=INT(#FEED*10))
< L X#XPOS Y#YPOS <#DCOMP> <F#V14>>
< L Z#ZPOS R0 F MAX >

@RAP
< L< X#XPOS>< Y#YPOS>< Z#POS> R0 F MAX>

@LINE
#EVAL(#V14=INT(#FEED*10))
 L< X#XPOS>< Y#YPOS>< Z#ZPOS>< #DCOMP> <F#V14>

@ARC
#EVAL(#V14=INT(#FEED*10))
 CC X#XCTR Y#YCTR
 C X#XPOS Y#YPOS #MOV< #DCOMP> <F#V14>

@XZARC
#EVAL(#V14=INT(#FEED*10))
 CC X#XCTR Z#ZCTR
 C X#XPOS Z#ZPOS #MOV< #DCOMP> <F#V14>

@YZARC
#EVAL(#V14=INT(#FEED*10))
 CC Y#YCTR Z#ZCTR
 C Y#YPOS Z#ZPOS #MOV< #DCOMP> <F#V14>

@HELIX
#EVAL(#V14=INT(#FEED*10))
 CC X#XCTR Y#YCTR
 C X#XPOS Y#YPOS Z#ZPOS #MOV< #DCOMP> <F#V14>

@ZCLRMV
#EVAL(#V1=#ZPOS)
//#IF(#XSET=1,#AND #TLOP<>2)<#EXIT>
//#EVAL(#NHOL=#NHOL+1)
//#IF(#NHOL=2,#AND #TLOP<>2)<#EXIT>
//< L Z#V1 R0 F MAX>

@ZCHKMV
//#IF(#XSET>=1,#AND #TLOP<>2)<#EXIT>
//#IF(#C1=1)<#EVAL(#NHOL=#NHOL+10)#EVAL(#C1=0)>
//#IF(#NHOL<=2,#AND #TLOP<>2)<#EXIT>
//#EVAL(#NHOL=#NHOL+1)
 L Z#ZPOS R0 F MAX

@ZDPTHMV
#EVAL(#V14=INT(#FEED*10))
< L Z#ZPOS R0 F#V14>

@FXD1
#EVAL(#V3=0)
//#IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+0.125)>
#IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>
#IF(#V8<>#ZCHK)<#EVAL(#V3=1)>
#IF(#V7<>100)<#EVAL(#V3=1)>
#IF(#V6<>#FXD)<#EVAL(#V3=1)>
#EVAL(#V12=ABS(#V18))
//#EVAL(#V13=#PTOP-#ZCHK+0.125)
#EVAL(#V14=INT(#FEED*10))
#EVAL(#V16=#PTOP-#CHKD)
#EVAL(#V17=#V12+ABS(#V16)+0.125)
#EVAL(#V18=(#ZDPTH-#V16)
< L Z+20 R0 F MAX>
aa#IF(#V3=1)< CYCL DEF 200 DRILLING ~>#ELSE< L X#XPOS Y#YPOS R0 F MAX M99 M13>
#OFFBLK#IF(#V3=1)<    Q200 = 0.125 ;SET UP CLEARANCE ~>
#IF(#V3=1)<    Q201 =#V18 ;DEPTH~>
#IF(#V3=1)<    Q206 =#V14 ;FEEDRATE FOR PLUNGING ~>
#IF(#V3=1)<    Q202 =#V12 ;PLUNGING DEPTH ~>
#IF(#V3=1)<    Q210 =0 ;DWELL TIME AT TOP ~>
#IF(#V3=1)<    Q203 =#V16 ;SURFACE COORDINATE ~>
#IF(#V3=1)<    Q204 =#V17 ;2ND SET-UP CLEARANCE ~>
#IF(#V3=1)<    Q211 =0 ;DWELL TIME AT BOTTOM>
//#ONBLK#IF(#V3=1) <L M13>
#EVAL(#V14=#FEED)
#EVAL(#V9=#ZDPTH)
#EVAL(#V8=#ZCHK)
#EVAL(#V7=100)
#EVAL(#V6=#FXD)
#ONBLK#IF(#V3=1)< L X#XPOS Y#YPOS R0 F MAX M99 M13>

@FXD2
#EVAL(#V3=0)
//#IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+0.125)>
#IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>
#IF(#V8<>#ZCHK)<#EVAL(#V3=1)>
#IF(#V7<>100)<#EVAL(#V3=1)>
#IF(#V6<>#FXD)<#EVAL(#V3=1)>
#EVAL(#V12=ABS(#V18))
//#EVAL(#V13=#PTOP-#ZCHK+0.125)
#EVAL(#V14=INT(#FEED*10))
#EVAL(#V16=#PTOP-#CHKD)
#EVAL(#V17=ABS(#V12)+ABS(#V16)+0.125)
#EVAL(#V18=(#ZDPTH-#V16)
< L Z+20 R0 F MAX>
bb#IF(#V3=1)< CYCL DEF 200 DRILLING ~>#ELSE< L X#XPOS Y#YPOS R0 F MAX M99 M13>
#OFFBLK#IF(#V3=1)<    Q200 = 0.125 ;SET UP CLEARANCE ~>
#IF(#V3=1)<    Q201 =#V18 ;DEPTH ~>
#IF(#V3=1)<    Q206 =#V14 ;FEEDRATE FOR PLUNGING ~>
#IF(#V3=1)<    Q202 =#V12 ;PLUNGING DEPTH ~>
#IF(#V3=1)<    Q210 =0 ;DWELL TIME AT TOP ~>
#IF(#V3=1)<    Q203 =#V16 ;SURFACE COORDINATE ~>
#IF(#V3=1)<    Q204 =#V17 ;2ND SET-UP CLEARANCE ~>
#IF(#V3=1)<    Q211 =0 ;DWELL TIME AT BOTTOM>
//#ONBLK#IF(#V3=1) <L M13>
#EVAL(#V14=#FEED)
#EVAL(#V9=#ZDPTH)
#EVAL(#V8=#ZCHK)
#EVAL(#V7=100)
#EVAL(#V6=#FXD)
#ONBLK#IF(#V3=1)< L X#XPOS Y#YPOS R0 F MAX M99 M13>

@FXD3
#EVAL(#V3=0)
//#IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+0.125)>
#IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>
#IF(#V8<>#ZCHK)<#EVAL(#V3=1)>
#IF(#V7<>100)<#EVAL(#V3=1)>
#IF(#V6<>#FXD)<#EVAL(#V3=1)>
#EVAL(#V11=jos(op_pitch))
//#EVAL(#V12=ABS(#ZDPTH))
//#EVAL(#V13=#PTOP-#ZCHK)
#EVAL(#V15=#ZCHK+.275)
#EVAL(#V16=#PTOP-#CHKD)
#EVAL(#V17=ABS(#ZDPTH)+ABS(#V16)+0.400)
#EVAL(#V18=(#ZDPTH-#V16)
< L Z+20 R0 F MAX>
cc#IF(#V3=1)< CYCL DEF 207 RIGID TAPPING NEW ~>#ELSE< L X#XPOS Y#YPOS R0 F MAX M99 M13>
#OFFBLK#IF(#V3=1)<    Q200 = 0.400 ;SET UP CLEARANCE ~>
#IF(#V3=1)<    Q201 =#V18 ;DEPTH ~>
#IF(#V3=1)<    Q239 =#V11 ;THREAD PITCH ~>
#IF(#V3=1)<    Q203 =#V16 ;SURFACE COORDINATE ~>
#IF(#V3=1)<    Q204 =#V17 ;2ND SET-UP CLEARANCE>
//#ONBLK#IF(#V3=1) <L M13>
#EVAL(#V14=#FEED)
#EVAL(#V9=#ZDPTH)
#EVAL(#V8=#ZCHK)
#EVAL(#V7=100)
#EVAL(#V6=#FXD)
#ONBLK#IF(#V3=1)< L X#XPOS Y#YPOS R0 F MAX M99 M13>

@FXD4
#EVAL(#V3=0)
//#IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+0.125)>
#IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>
#IF(#V8<>#ZCHK)<#EVAL(#V3=1)>
#IF(#V7<>100)<#EVAL(#V3=1)>
#IF(#V6<>#FXD)<#EVAL(#V3=1)>
#EVAL(#V12=ABS(#V18))
//#EVAL(#V13=#PTOP-#ZCHK+0.125)
#EVAL(#V14=INT(#FEED*10))
#EVAL(#V16=#PTOP-#CHKD)
#EVAL(#V17=ABS(#V12+ABS(#V16)+0.125)
#EVAL(#V18=(#ZDPTH-#V16)
< L Z+20 R0 F MAX>
dd#IF(#V3=1)< CYCL DEF 200 DRILLING ~>#ELSE< L X#XPOS Y#YPOS R0 F MAX M99 M13>
#OFFBLK#IF(#V3=1)<    Q200 = 0.125 ;SET UP CLEARANCE ~>
#IF(#V3=1)<    Q201 =#V18 ;DEPTH ~>
#IF(#V3=1)<    Q206 =#V14 ;FEEDRATE FOR PLUNGING ~>
#IF(#V3=1)<    Q202 =#V12 ;PLUNGING DEPTH ~>
#IF(#V3=1)<    Q210 =0 ;DWELL TIME AT TOP ~>
#IF(#V3=1)<    Q203 =#V16 ;SURFACE COORDINATE ~>
#IF(#V3=1)<    Q204 =#17 ;2ND SET-UP CLEARANCE ~>
#IF(#V3=1)<    Q211 =0 ;DWELL TIME AT BOTTOM>
//#ONBLK#IF(#V3=1) <L M13>
#EVAL(#V14=#FEED)
#EVAL(#V9=#ZDPTH)
#EVAL(#V8=#ZCHK)
#EVAL(#V7=100)
#EVAL(#V6=#FXD)
#ONBLK#IF(#V3=1)< L X#XPOS Y#YPOS R0 F MAX M99 M13>

@FXD5
#EVAL(#V3=0)
// #IF(#V9<>#ZDPTH)<#EVAL(#ZDPTH=#ZDPTH+0.125)>
#IF(#V9<>#ZDPTH)<#EVAL(#V3=1)>
#IF(#V8<>#ZCHK)<#EVAL(#V3=1)>
#IF(#V7<>100)<#EVAL(#V3=1)>
#IF(#V6<>#FXD)<#EVAL(#V3=1)>
#EVAL(#V12=#TLDIA/2)
//#EVAL(#V13=#PTOP-#ZCHK+0.125)
#EVAL(#V14=#FEED*10)
#EVAL(#V16=#PTOP-#CHKD)
//#IF(#V5<>#DWELL)<#EVAL(#V3=1)>
#IF(#V4<>#PECK)<#EVAL(#V3=1)>
#IF(#V4<>#PECK)<#EVAL(#PECK=#TLDIA)>
#EVAL(#FEED=INT(#FEED*10))
#EVAL(#V17=ABS(#ZDPTH)+ABS(#V16)+0.125)
#EVAL(#V18=(#ZDPTH-#V16)
< L Z+20 R0 F MAX>
ee#IF(#V3=1)< CYCL DEF 205 UNIVERSAL PECKING ~>#ELSE< L X#XPOS Y#YPOS R0 F MAX M99 M13>
#OFFBLK#IF(#V3=1)<    Q200= 0.125 ;SET-UP CLEARANCE ~>
#IF(#V3=1)<    Q201=#V18 ;DEPTH ~>
#IF(#V3=1)<    Q206=#V14 ;FEED RATE FOR PLNGNG ~>
#IF(#V3=1)<    Q202=#PECK ;PLUNGING DEPTH ~>
#IF(#V3=1)<    Q203=#V16 ;SURFACE COORDINATE ~>
#IF(#V3=1)<    Q204=#17 ;2ND SET-UP CLEARANCE ~>
#IF(#V3=1)<    Q212=#V12  ;DECREMENT ~>
#IF(#V3=1)<    Q205=0    ;MIN. PLUNGING DEPTH ~>
#IF(#V3=1)<    Q258=0,01 ;UPPER ADV STOP DIST ~>
#IF(#V3=1)<    Q259=0,01 ;LOWER ADV STOP DIST ~>
#IF(#V3=1)<    Q257=0,25 ;DEPTH FOR CHIP BRKNG ~>
#IF(#V3=1)<    Q256=0,1  ;DIST FOR CHIP BRKNG ~>
#IF(#V3=1)<    Q211=0    ;DWELL TIME AT DEPTH>
//#ONBLK#IF(#V3=1) <L M13>
#EVAL(#V14=#FEED)
#EVAL(#V9=#ZDPTH)
#EVAL(#V8=#ZCHK)
#EVAL(#V7=100)
#EVAL(#V6=#FXD)
#EVAL(#V5=#DWELL)
#EVAL(#V4=#PECK)
#ONBLK#IF(#V3=1)< L X#XPOS Y#YPOS R0 F MAX M99 M13>
@
