I am looking for a serialization program for a 30i control (Mori NH5000). Needs to be a 4 digit number (0001). I will not be using #3901 as the counter because I will be doing multiple parts on a tombstone. I will be using #500 instead and have #500=#500+1 before the M99. I also know that I will have 10 different program to create 1-9. I am not sure how to create this sub program and how to get the correct spacing between numbers. Thank you.
I don't know if this will help I didn't write it .I savd it in case I ever need to do serial numbers.
(DEFAULT SPACING TO .2 IF NOT SPECIFIED)
IF [#21 NE #0] GOTO 10
#21 = .2
N10
(SCALE FACTOR)
IF [#11 NE #0] GOTO 15
#11 = .25
N15
#140 = #11 / .25
(DEFAULT Z IS 0)
IF [#26 NE #0] GOTO 20
#26 = 0
N20
(ERROR COMPENSATION VARIABLE)
#149 = .001
(FIND NUMBER OF DIGITS)
IF [#19 EQ 0] GOTO 25
#120 = FIX[[LN[#19] / 2.3026] + 1]
N25
IF [#3 NE #0] THEN #120 = #3
IF [#120 NE #0] GOTO 30
IF [#19 EQ 0] THEN #120 = 1.
N30
#121 = 1
#122 = 1
WHILE [#121 LE [#120-1]] DO 1
#122 = FIX[[#122 * 10] + #149]
#121 = FIX[[#121 + 1] + #149]
END 1
(MOVE TO POSITION)
G0 G90
X#24 Y#25 (MOVE TO START X AND Y POSITION)
Z[#26+0.5] (MOVE TO SAFE Z POINT)
(START LOOP)
#102 = 0
N100
G0 G90 X[#24 + [#21*#102]] Y#25
G91
(COUNT DIGITS)
IF [#102 LE [#120-1]] GOTO 200
G0 G91 G28 Z0
M99
N200
#102 = FIX[[#102 + 1] + #149]
(ISOLATE DIGIT)
#101 = FIX[[#19 / #122] + #149]
#19 = #19 - FIX[[#101 * #122] + #149]
#122 = FIX[[#122 / 10] + #149]
(CUT DIGIT)
G0 G90 Z[#26 + .05]
IF[#101 EQ 0] GOTO 10
IF[#101 EQ 1] GOTO 11
IF[#101 EQ 2] GOTO 12
IF[#101 EQ 3] GOTO 13
IF[#101 EQ 4] GOTO 14
IF[#101 EQ 5] GOTO 15
IF[#101 EQ 6] GOTO 16
IF[#101 EQ 7] GOTO 17
IF[#101 EQ 8] GOTO 18
IF[#101 EQ 9] GOTO 19
N10 (ZERO)
G91 G0 X-[#140 * .0004] Y[#140 * .1076]
G90 G1 Z[#26 - #7]
G91 G1 X[#140 * .0176]
G2 X[#140 * .0374] Y-[#140 * .0194] I-[#140 * .0021] J-[#140 * .05]
X[#140 * .0164] Y-[#140 * .0417] I-[#140 * .0488] J-[#140 * .0432]
G1 X-[#140 * .0009] Y-[#140 * .1012]
G2 X-[#140 * .0157] Y-[#140 * .0372] I-[#140 * .0527] J[#140 * .0004]
X-[#140 * .0372] Y-[#140 * .0157] I-[#140 * .0375] J[#140 * .0371]
G1 X-[#140 * .0353]
G2 X-[#140 * .0372] Y[#140 * .0157] I[#140 * .0004] J[#140 * .0528]
X-[#140 * .0157] Y[#140 * .0372] I[#140 * .0371] J[#140 * .0376]
G1 Y[#140 * .1059]
G2 X[#140 * .0157] Y[#140 * .0389] I[#140 * .0585] J-[#140 * .001]
X[#140 * .0372] Y[#140 * .0175] I[#140 * .0382] J-[#140 * .033]
G1 X[#140 * .0177]
G90 G0 Z[#26 + .05]
GOTO 100
N11 (ONE)
G91 G0 X-[#140 * .0359] Y[#140 * .0719]
G90 G1 Z[#26 - #7]
G91 X[#140 * .0357] Y[#140 * .0361]
Y-[#140 * .2156]
X-[#140 * .0357]
X[#140 * .0718]
G90 G0 Z[#26 + .05]
GOTO 100
N12 (TWO)
G91 G0 X-[#140 * .071] Y[#140 * .0531]
G90 G1 Z[#26 - #7]
G91 G2 X[#140 * .0157] Y[#140 * .0375] I[#140 * .0535] J-[#140 * .0004]
X[#140 * .0377] Y[#140 * .0159] I[#140 * .0379] J-[#140 * .0371]
G1 X[#140 * .0352]
G2 X[#140 * .0375] Y-[#140 * .0159] I-[#140 * .0005] J-[#140 * .0531]
X[#140 * .0159] Y-[#140 * .0375] I-[#140 * .0373] J-[#140 * .038]
X-[#140 * .0164] Y-[#140 * .0383] I-[#140 * .0527] J-[#140 * .0001]
G1 X-[#140 * .1256] Y-[#140 * .1213]
X[#140 * .142]
G90 G0 Z[#26 + .05]
GOTO 100
N13 (THREE)
G91 G0 X-[#140 * .0605] Y[#140 * .0917]
G90 G1 Z[#26 - #7]
G91 G2 X[#140 * .0362] Y[#140 * .0159] I[#140 * .0366] J-[#140 * .0341]
G1 X[#140 * .034]
G2 X[#140 * .0357] Y-[#140 * .0159] I-[#140 * .0006] J-[#140 * .0494]
X[#140 * .0151] Y-[#140 * .0379] I-[#140 * .04] J-[#140 * .0379]
X-[#140 * .0151] Y-[#140 * .0379] I-[#140 * .0552]
X-[#140 * .0357] Y-[#140 * .0159] I-[#140 * .0363] J[#140 * .0335]
X[#140 * .0357] Y-[#140 * .0159] I-[#140 * .0006] J-[#140 * .0494]
X[#140 * .0151] Y-[#140 * .0379] I-[#140 * .04] J-[#140 * .0379]
X-[#140 * .0151] Y-[#140 * .0374] I-[#140 * .0546] J[#140 * .0002]
X-[#140 * .0357] Y-[#140 * .0159] I-[#140 * .0363] J[#140 * .0335]
G1 X-[#140 * .034]
G2 X-[#140 * .0362] Y[#140 * .0154] I[#140 * .0002] J[#140 * .0505]
G90 G0 Z[#26 + .05]
GOTO 100
N14 (FOUR)
G91 G0 X[#140 * .0353] Y-[#140 * .1059]
G90 G1 Z[#26 - #7]
G91 Y[#140 * .2117]
X-[#140 * .1059] Y-[#140 * .1411]
X[#140 * .1412]
G90 G0 Z[#26 + .05]
GOTO 100
N15 (FIVE)
G91 G0 X[#140 * .0714] Y[#140 * .1071]
G90 G1 Z[#26 - #7]
G91 X-[#140 * .1428]
Y-[#140 * .0714]
X[#140 * .0895]
G2 X[#140 * .0374] Y-[#140 * .0159] I-[#140 * .0005] J-[#140 * .0531]
X[#140 * .0159] Y-[#140 * .0374] I-[#140 * .0372] J-[#140 * .0379]
G1 Y-[#140 * .0358]
G2 X-[#140 * .0159] Y-[#140 * .0378] I-[#140 * .0537] J[#140 * .0003]
X-[#140 * .0374] Y-[#140 * .0159] I-[#140 * .0379] J[#140 * .0372]
G1 X-[#140 * .0357]
G2 X-[#140 * .0379] Y[#140 * .0159] I[#140 * .0002] J[#140 * .0536]
X-[#140 * .0159] Y[#140 * .0374] I[#140 * .0372] J[#140 * .0379]
G90 G0 Z[#26 + .05]
GOTO 100
N16 (SIX)
G91 G0 X[#140 * .0555] Y[#140 * .091]
G90 G1 Z[#26 - #7]
G91 G3 X-[#140 * .0379] Y[#140 * .0155] I-[#140 * .0376] J-[#140 * .038]
G1 X-[#140 * .0352]
G3 X-[#140 * .0377] Y-[#140 * .0159] I[#140 * .0002] J-[#140 * .053]
X-[#140 * .0157] Y-[#140 * .0375] I[#140 * .0378] J-[#140 * .0379]
G1 Y-[#140 * .1062]
G3 X[#140 * .0157] Y-[#140 * .0377] I[#140 * .0533] J[#140 * .0001]
X[#140 * .0377] Y-[#140 * .0157] I[#140 * .0378] J[#140 * .0376]
G1 X[#140 * .0352]
G3 X[#140 * .0375] Y[#140 * .0157] I-[#140 * .0004] J[#140 * .0535]
X[#140 * .0159] Y[#140 * .0377] I-[#140 * .0371] J[#140 * .0379]
G1 Y[#140 * .0352]
G3 X-[#140 * .0159] Y[#140 * .0375] I-[#140 * .0531] J-[#140 * .0005]
X-[#140 * .0375] Y[#140 * .0159] I-[#140 * .038] J-[#140 * .0372]
G1 X-[#140 * .0352]
G3 X-[#140 * .0377] Y-[#140 * .0159] I[#140 * .0002] J-[#140 * .053]
X-[#140 * .0157] Y-[#140 * .0375] I[#140 * .0378] J-[#140 * .0379]
G90 G0 Z[#26 + .05]
GOTO 100
N17 (SEVEN)
G91 G0 X-[#140 * .0714] Y[#140 * .1071]
G90 G1 Z[#26 - #7]
G91 X[#140 * .1428]
X-[#140 * .1071] Y-[#140 * .2142]
G90 G0 Z[#26 + .05]
GOTO 100
N18 (EIGHT)
G91 G0 X0. Y[#140 * .1061]
G90 G1 Z[#26 - #7]
G91 X[#140 * .0176]
G2 X[#140 * .0373] Y-[#140 * .016] I-[#140 * .0004] J-[#140 * .0525]
X[#140 * .0157] Y-[#140 * .0374] I-[#140 * .0378] J-[#140 * .0378]
X-[#140 * .0157] Y-[#140 * .0372] I-[#140 * .0528] J[#140 * .0004]
X-[#140 * .0373] Y-[#140 * .0157] I-[#140 * .0376] J[#140 * .0371]
G1 X-[#140 * .0352]
G3 X-[#140 * .0373] Y-[#140 * .0164] I[#140 * .0005] J-[#140 * .0519]
X-[#140 * .0157] Y-[#140 * .0383] I[#140 * .0398] J-[#140 * .0386]
X[#140 * .0159] Y-[#140 * .0361] I[#140 * .05] J[#140 * .0004]
X[#140 * .0375] Y-[#140 * .0151] I[#140 * .0377] J[#140 * .0395]
G1 X[#140 * .0348]
G3 X[#140 * .0373] Y[#140 * .0151] I-[#140 * .0001] J[#140 * .0539]
X[#140 * .0157] Y[#140 * .0361] I-[#140 * .0346] J[#140 * .0365]
X-[#140 * .016] Y[#140 * .0383] I-[#140 * .0551] J-[#140 * .0004]
X-[#140 * .037] Y[#140 * .0164] I-[#140 * .0378] J-[#140 * .0356]
G1 X-[#140 * .0352]
G2 X-[#140 * .0373] Y[#140 * .0157] I[#140 * .0003] J[#140 * .0528]
X-[#140 * .0157] Y[#140 * .0372] I[#140 * .0371] J[#140 * .0376]
X[#140 * .0157] Y[#140 * .0374] I[#140 * .0535] J-[#140 * .0004]
X[#140 * .0373] Y[#140 * .016] I[#140 * .0377] J-[#140 * .0365]
G1 X[#140 * .0176]
G90 G0 Z[#26 + .05]
GOTO 100
N19 (NINE)
G91 G0 X-[#140 * .0555] Y-[#140 * .091]
G90 G1 Z[#26 - #7]
G91 G3 X[#140 * .0379] Y-[#140 * .0155] I[#140 * .0376] J[#140 * .038]
G1 X[#140 * .0352]
G3 X[#140 * .0375] Y[#140 * .0157] I-[#140 * .0004] J[#140 * .0535]
X[#140 * .0159] Y[#140 * .0377] I-[#140 * .0371] J[#140 * .0379]
G1 Y[#140 * .1062]
G3 X-[#140 * .0159] Y[#140 * .0375] I-[#140 * .0532] J-[#140 * .0005]
X-[#140 * .0375] Y[#140 * .0159] I-[#140 * .038] J-[#140 * .0372]
G1 X-[#140 * .0352]
G3 X-[#140 * .0377] Y-[#140 * .0159] I[#140 * .0002] J-[#140 * .053]
X-[#140 * .0157] Y-[#140 * .0375] I[#140 * .0378] J-[#140 * .0379]
G1 Y-[#140 * .0352]
G3 X[#140 * .0157] Y-[#140 * .0377] I[#140 * .0533] J[#140 * .0001]
X[#140 * .0377] Y-[#140 * .0157] I[#140 * .0378] J[#140 * .0376]
G1 X[#140 * .0352]
G3 X[#140 * .0375] Y[#140 * .0157] I-[#140 * .0004] J[#140 * .0535]
X[#140 * .0159] Y[#140 * .0377] I-[#140 * .0371] J[#140 * .0379]
G90 G0 Z[#26 + .05]
GOTO 100
%
Tim