bom vou postar um programa simples e comum parametrizado e vou tentar explicar da forma mais didatica possivel de como eu fiz e de como vcs podem interpretar tudo
e no fim eu posto uma apostila de mach9 para ser baixada.
Programa Elipse ( comando Siemens)
N10 G17 G71 G90 G94 G64
N20 G53 G0 Z-110 D0
N30 R1=60 ;RAIO MAIOR
N40 R2=30 ;RAIO MENOR
N50 R3=16 ;FRESA
N60 R3=R3/2;RAIO DA FRESA
N70 R1=R1+R3; COMPENSAÇÃO DA FERRAMENTA NO RAIO MAIOR
N80 R2=R2+R3; COMPENSAÇÃO DA FERRAMENTA NO RAIO MENOR
N90 R4=0 ;ANGULO INICIAL
N100 R5=360 ;ANGULO FINAL
N110 R6=1 ;ANGULO DE INCREMENTO
N120 T1
N130 G54 D1
N140 S3000 M3
N150 G0 X=COS(R4)*R1 Y=SIN(R4)*R2 ;A FERRAMENTA MOVE-SE PARA G0 X68 Y0
N160 Z5
N170 G1 Z-1 F1000
N180 INI: ;MARCA PARA REPETIÇÃO
N190 G1 X=COS(R4)*R1 Y=SIN(R4)*R2 ;A FERRAMENTA MOVE-SE PARA G1 X68 Y0
N200 R4=R4+R6 ;0=0+1 ( TODA VEZ Q O PROG REPETIR, O R4 FARÁ A SOMA DE + 1)
N210 IF R5>R4 GOTOB INI ; SE 360 FOR MAIOR Q 0 ENTÃO VOLTAR PARA INI
N220 G53 G0 Z-110 D0
N230 Y150
N240 M30
R1,R2,R3,etc... ( São as variáveis, ou seja ,sao os parâmetros que o programador vai mudar de acordo com cada peça de dimensão diferente ou ferramenta diferente).
IF= SE ( DESVIO CONDICIONAL) SE A SENTENÇA FOR VERDADEIRA O PROGRAMA VOLTA PARA A MARCA INI,SE FOR FALSA ,ELA VAI PARA A LINHA SEGUINTE.
GOTOB = pulo para trás
Bom... para quem é leigo no assunto, peguem a calculadora cintífica.
Explicação do programa elipse.
sabemos que um elipse é um arco com 2 raios diferentes , o maior ( largura) menor (altura) ou vice e versa.
Nas variáveis eu coloquei R1= 60 e 4 linhas depois eu coloquei R1= R1+R3 , ou seja R1 ja nao é mais 60, agora é 68, pq eu qero que a maquina faça o movimento compensando o raio da ferramenta ( notem q eu coloquei que R3 era o diametro da ferramenta dividido por 2).
ai a maquina vai ler da seguinte forma :G1 X= cosseno de R4 (0 )vezes R1 ( façam o calculo na calculadora ai)
Idem para Y porém vezes R2
O segredo esta no IF , (se 360 for maior q 0entao voltar para INI) , quando o programa repetir o programa ele vai fazer todo o programa denovo, só q agora o R4 (angulo inicial) ja nao é mais 0, agora é 1,nas seguintes repetições vão ser 2,3,4,5,6 etc... até chegar no 360 ( arco completo) ai a maquina vai ler assim: Se 360 for maior que 360, gotob ini ( mais agora a sentença é falsa pq 360 é = q 360) , ai o programa para de repetir.