i have this script that i want to use with a laser probe, i am trying to scan a kite board, usually with linux cnc, you open this script as a gcode but with mach3, it doesnt like it.
the script generate a text file that i can open in a open source program call boardcad.
here is the script if someone can help me:
g21
f1000
(#1=0) (x start)
(#2=3190) (x end)
#3=20 (nr of segments; 20)
#4=[[#2-#1]/#3] (x step)
#5=-268.5 (y center)
#6=10 (nr of points; 10)
#7=10 (y step)
#8=-36 (z safe)
#9=10 (z probe)
#10=0 (current x)
#11=0 (current y)
#12=0 (current z)
#13=0 (previous z)
#14=0 (step size y)
#15=-100 (y safe)
#16=-100 (z probe outline)
#18=1110 (x-value between support / approximately center of board)
O100 sub (subroutine find apex for cross section scan)
g38.2 z#9
o101 while [0 lt #5070]
g38.4 y#15 f5000
#10=#5061
#11=#5062
#12=#5063
g38.3 z[#12-50] f1000
o101 endwhile
O100 endsub
(search for tail and nose)
g0 z#8 a45
g0 x#18 y#5
g38.2 z#9
o6 while [0 lt #5070]
g38.4 x0 f5000
#10=#5061
#11=#5062
#12=#5063
g38.3 z[#12-50] f1000
o6 endwhile
g0 x[#10-10]
g38.2 x#18
#1=[#10+5]
#17=#5063 (start y, used for outline)
g0 z#8
g0 x#18 y#5
g38.2 z#9
o7 while [0 lt #5070]
g38.4 x3500 f5000
#10=#5061
#11=#5062
#12=#5063
g38.3 z[#12-50] f1000
o7 endwhile
g0 x[#10+10]
g38.2 x#18
#2=[#10-5]
#4=[[#2-#1]/#3] (x step)
#10=#1
g0 z#8
g0 x#1 y#5
(PROBEOPEN bottom_rocker.txt)
g38.2 z#9
g0 z#8
g0 x[#10 + 20]
g38.2 z#9
o1 while [#10 lt [#2-#4/4]]
#10=[#10+#4]
g0 z#8
g0 x#10
g38.2 z#9
o1 endwhile
g0 z#8
g0 x[#10 - 20]
g38.2 z#9
(PROBECLOSE)
g0 z#8
g0 x#1 y#15
g0 z#17
#10=#1
(PROBEOPEN outline.txt)
g38.2 y#5
g0 y#15
g0 x[#10 + 20]
g38.2 y#5
o2 while [#10 lt [#2-#4/4]]
g38.4 z#8 (probe for apex)
#17=#5063
#10=[#10+#4]
g0 y#15
o8 if [#5061 GT #18]
g0 x#10 z[#17-80]
o8 else
g0 x#10 z[#17-40]
o8 endif
g38.2 y#5 (probe for outline)
o2 endwhile
g0 y#15
g0 x[#10 - 20]
g38.2 y#5
(PROBECLOSE)
g0 z#8
g0 x[#1+304.8] y#5
M1 (wait if user wants to prepare board)
O100 call
g0 y[#5062+10]
g38.2 y#5
g0 z#8
#10=#5061
#11=#5062
#12=#5063
#7=[[#11-#5]/#6] (y step)
(PROBEOPEN bottomrail1.txt)
g38.2 z#9
o23 while [ #5062 gt [#11-#7]]
g0 z#8
g0 y[#5062 - 3]
g38.2 z#9
o23 endwhile
o3 while [ [#5+#7/2] lt #11]
#11=[#11-#7]
g0 z#8
g0 y#11
g38.2 z#9
o3 endwhile
(PROBECLOSE)
g0 z#8
g0 x[[#1+#2]/2] y#5
M1 (wait if user wants to prepare board)
O100 call
g0 y[#5062+10]
g38.2 y#5
g0 z#8
#10=#5061
#11=#5062
#12=#5063
#7=[[#11-#5]/#6] (y step)
(PROBEOPEN bottomrail2.txt)
g38.2 z#9
o24 while [ #5062 gt [#11-#7]]
g0 z#8
g0 y[#5062 - 3]
g38.2 z#9
o24 endwhile
o4 while [ [#5+#7/2] lt #11]
#11=[#11-#7]
g0 z#8
g0 y#11
g38.2 z#9
o4 endwhile
(PROBECLOSE)
g0 z#8
g0 x[#2-304.8] y#5
M1 (wait if user wants to prepare board)
O100 call
g0 y[#5062+10]
g38.2 y#5
g0 z#8
#10=#5061
#11=#5062
#12=#5063
#7=[[#11-#5]/#6] (y step)
(PROBEOPEN bottomrail3.txt)
g38.2 z#9
o25 while [ #5062 gt [#11-#7]]
g0 z#8
g0 y[#5062 - 3]
g38.2 z#9
o25 endwhile
o5 while [ [#5+#7/2] lt #11]
#11=[#11-#7]
g0 z#8
g0 y#11
g38.2 z#9
o5 endwhile
(PROBECLOSE)
g0 z#8
(finished scanning bottom)
#8=400 (z safe)
g0 z#8
g0 x#2 y#5 (place probe over nose)
M0 (wait for user to turn board)
g0 x#1 y#5 (place probe over tail)
M0 (wait for user to place board)
g0 x#2 y#5 (place probe over nose)
M1 (optionally wait for fine tuning)
g0 x#1 y#5 (place probe over tail)
M1 (optionally wait for fine tuning)
(scanning deck)
#10=#1
g0 z#8
g0 x#1 y#5
(PROBEOPEN deck_rocker.txt)
g38.2 z#9
g0 z#8
g0 x[#10 + 20]
g38.2 z#9
o11 while [#10 lt [#2-#4/4]]
#10=[#10+#4]
g0 z#8
g0 x#10
g38.2 z#9
o11 endwhile
g0 z#8
g0 x[#10 - 20]
g38.2 z#9
(PROBECLOSE)
g0 z#8
g0 x[#1+304.8] y#5
M1 (wait if user wants to prepare board)
O100 call
g0 y[#5062+10]
g38.2 y#5
g0 z#8
#10=#5061
#11=#5062
#12=#5063
#7=[[#11-#5]/#6] (y step)
(PROBEOPEN deckrail1.txt)
g38.2 z#9
o33 while [ #5062 gt [#11-#7]]
g0 z#8
g0 y[#5062 - 3]
g38.2 z#9
o33 endwhile
o13 while [ [#5+#7/2] lt #11]
#11=[#11-#7]
g0 z#8
g0 y#11
g38.2 z#9
o13 endwhile
(PROBECLOSE)
g0 z#8
g0 x[[#1+#2]/2] y#5
M1 (wait if user wants to prepare board)
O100 call
g0 y[#5062+10]
g38.2 y#5
g0 z#8
#10=#5061
#11=#5062
#12=#5063
#7=[[#11-#5]/#6] (y step)
(PROBEOPEN deckrail2.txt)
g38.2 z#9
o34 while [ #5062 gt [#11-#7]]
g0 z#8
g0 y[#5062 - 3]
g38.2 z#9
o34 endwhile
o14 while [ [#5+#7/2] lt #11]
#11=[#11-#7]
g0 z#8
g0 y#11
g38.2 z#9
o14 endwhile
(PROBECLOSE)
g0 z#8
g0 x[#2-304.8] y#5
M1 (wait if user wants to prepare board)
O100 call
g0 y[#5062+10]
g38.2 y#5
g0 z#8
#10=#5061
#11=#5062
#12=#5063
#7=[[#11-#5]/#6] (y step)
(PROBEOPEN deckrail3.txt)
g38.2 z#9
o35 while [ #5062 gt [#11-#7]]
g0 z#8
g0 y[#5062 - 3]
g38.2 z#9
o35 endwhile
o15 while [ [#5+#7/2] lt #11]
#11=[#11-#7]
g0 z#8
g0 y#11
g38.2 z#9
o15 endwhile
(PROBECLOSE)
g0 z#8
M2