i just learned that mach3 doesnt use conventional gcode...
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