threading.ngc
1 g20 2 g64 3 4 s1200 m3 5 g4p2 6 g0x.5 7 z.7 8 f3 9 10 #1=.05 11 o101 while [#1 GE .04] 12 g0z.7 13 g1x.020 14 g1z[#1 + .65] 15 z[#1 + .54]x.13 16 #1=[#1-.008] 17 o101 endwhile 18 19 s400 m3 (=20ipm cutting at .05tpi) 20 g4p2 21 f20 22 23 #1=0.118 (full radius) 24 #2=0.0005 (X increment) 25 #3=0.0375 (depth of cut) 26 #4=0.05 (thread pitch) 27 #5=0.7 (Z length) 28 (end of arguments) 29 30 #6=0.0 31 o100 while [#6 LE #3] 32 #7=[[#3 - #6] * TAN [29]] 33 g0x[#1 + .2]z[#5 + #7] 34 g0x[.1 + #1 - #6] 35 g1x[#1 - #6] 36 g33z[.1 + #7]k#4 37 (stay synchronized and exit at 45 degrees) 38 g33x[.1 + #1 - #6]z#7k[sqrt[2]*[#4]] 39 g0x[#1 + .2] 40 #6=[#6 + #2] 41 o100 endwhile 42 43 (two spring passes) 44 g0x[#1 + .2]z[#5 + #7] 45 g0x[.1 + #1 - #6] 46 g1x[#1 - #6] 47 g33z[.1 + #7]k#4 48 g33x[.1 + #1 - #6]z#7k[sqrt[2]*[#4]] 49 g0x[#1 + .2] 50 51 g0x[#1 + .2]z[#5 + #7] 52 g0x[.1 + #1 - #6] 53 g1x[#1 - #6] 54 g33z[.1 + #7]k#4 55 g33x[.1 + #1 - #6]z#7k[sqrt[2]*[#4]] 56 g0x[#1 + .2] 57 58 s1000 m3 59 g4p2 60 g0x.5 61 z.7 62 x.117 63 f1.5 64 g1z0 65 g0x.13 66 z.7 67 g0x.13 68 69 s300m3 70 g4p2 71 g0x.68 72 g0z0 73 g1x.82f.15 74 g0x.68 75 76 m2