Salut,
Je suppose que tu peux utiliser une variable interne de Mach3 comme compteur et utiliser SetVar et GetVar pour lire écrire ta variable.
Sub SetVar(VarNum As Integer, Val As Double)
ex, supposons que tu utilise une variable n° 1200
SetVar(1200,0) mettra 0 dans ta variable.
GetVar(1200) retournera la valeur de la variable 1200
SetVar(1200, GetVar(1200) + 1)
Ajoutera 1 à la valeur de var 1200
Comme il y a un nb fini d'outil, tu peux utiliser l'opérateur modulo ; par exemple modulo 4 autorisera les valeurs de 0 à 3, et si tu ajoute encore 1, au lieu d'avoir 4, tu retourne à 0, ce qui évite de faire un test sur la valeur maxi et une remise à zéro pour retomber sur le bon n° d'outil.
ex:
setvar(1200, getvar(1200) +1) 'ajoute 1 à la valeur de la var 1200 puis met le résultat dans var 1200
setvar(1200, getvar(1200) Mod 4) ' effectue un modulo 4 et retourne la valeur dans var 1200 ; si elle était inférieur à 4, pas de changement, sinon le modulo est appliqué.
bien sûr, tu peux écrire ça en une seule ligne.
setvar(1200, (getvar(1200) +1) Mod 4)
++
David