Essayons de démystifier la chose...
On veut garder le couteau tout le temps dans l'axe de la trajectoire.
Avec une trajectoire quelconque entre 2 points, c'est mathématiquement impossible.
MAIS, si on impose une trajectoire droite, ça devient simple: on calcule la pente de la droite et on a l'angle du couteau.
Le point de départ 1 est connu: X1 et Y1. Le point d'arrivée 2 est connu X2 et Y2.
Les deux points sont sur la courbe donc Y1=a*X1+b et Y2=a*X2+b
On obtient: a=(Y2-Y1)/(X2-X1) et arctg(a) vous donne l'angle de la lame.
Vous me direz que c'est OK pour des droites, mais pour les cercles?
C'est là qu'interviens la CN: il suffit de découper le cercle en petits bouts de droites ce que sait très bien faire une CAO/FAO
Evidemment, ça augmente le nombre de ligne de gcode...
Pour le calcul, on peut le faire dans le programme gcode.
On crée un sous programme qui calcule
#5=[[#4-#3]/[#2-#1]]
#6=[arctan[#5]]
On traite ensuite les cas aux limites
IF [#5GE100] #6=90
IF [#5LE-100] #6=270
A chaque fois qu'on veut se déplacer, il faut écrire
#3=#4
#1=#2
#4= ordonnée du point d'arrivée
#2=abscisse du point d'arrivée
M98 P001
G01 X#2 Y#4 A#6
J'ai utilisé ce principe avec des calculs bien plus complexes qu'un arctan pour usiner une lentille.
Mach3 a tenu jusqu'à F400 sans faire d'a-coup liés au temps de calcul sur un PC 4 cœurs.
Au-dela, pas testé, le matériau ne l'aurait pas supporté.
CAMBAM utilise certainement le même procédé mathématique...
Le faire dans la FAO ou dans le Gcode n'est qu'une question de choix selon ce que l'on maîtrise.