Prenez le centre O(x,y,z) de votre cercle incline.
Prenez deux points M1(x,y,z) et M2(x,y,z) de votre cercle incline a 90° .
L'equation mathematique de la trajectoire est M(x,y,z)=O(x,y,z)+(M1-O)*cos (angle) + (M2-O)*sin(angle)
le GCode est avec une routine sub prenant en parametre
(#1 #2 #2 = Ox Oy Oz)
(#4 #5 #6 =M1x M1y M1z)
(#7 #8 #9 =M2x M2y M2z)
O200 sub
G0X#1 Y#2 Z#3
G1X#4 Y#5 Z#6
#i=0
#N=1000
while [#i LE #N]
#angle=[#i*360]/#N
#x=#1+[#4-#1]*cos[#angle]+[#7-#1]*sin[#angle]
#y=#2+[#5-#2]*cos[#angle]+[#8-#2]*sin[#angle]
#z=#3+[#6-#3]*cos[#angle]+[#9-#3]*sin[#angle]
G1X#x Y#y Z#z
#i=#i+1
endwhile
G1X#1 Y#2 Z#3
endsub
O200 call 0 0 0 10 0 5 0 10 -5
Je l'ai essaye ,(Sur le logiciel de commande CN qu j'utilise Numeridrive) voici la resultat vue dans le plan YZ (mais il se deplace en X aussi)
Cela devrait aussi pouvoir marcher sur LinuxCNC ;; Pour Mach3 je ne sais pas . On peut tout faire avec Mach3 mais peut etre differement que l'approce utilisee ici. Plus d'infos sur mon site web
http://sites.google.com/site/usbresource/gcode-flow-control-and-variables
Voici un detail agrandi qui montre la subdivision en points tres - tres proches