15 min de lectura
Nivel Intermedio

Estructura WHILE/DO/END

Sintaxis
WHILE[condición] DO n
  ; código a repetir
END n

; n = 1, 2 o 3 (permite anidar hasta 3 niveles)

Patrones de Bucle

Contador Simple

#100 = 0
WHILE[#100 LT 10] DO1
  G00 X[#100 * 10]
  #100 = #100 + 1
END1

Profundidad Incremental

#100 = 0       ; Z actual
#101 = -30     ; Z final
#102 = 5       ; Paso

WHILE[#100 GT #101] DO1
  #100 = #100 - #102
  IF[#100 LT #101] THEN #100 = #101
  G01 Z#100 F100
  G00 Z2
END1

Bucles Anidados

Matriz 4x3
#100 = 0           ; Fila
WHILE[#100 LT 4] DO1
  #101 = 0         ; Columna
  WHILE[#101 LT 3] DO2
    #102 = 20 + #100 * 25   ; X
    #103 = 20 + #101 * 25   ; Y
    G00 X#102 Y#103
    G01 Z-10 F200
    G00 Z5
    #101 = #101 + 1
  END2
  #100 = #100 + 1
END1

Ejemplo: Puntos en Círculo

#1 = 40           ; Radio
#2 = 8            ; Número de puntos
#100 = 0          ; Ángulo
#101 = 360 / #2   ; Incremento

WHILE[#100 LT 360] DO1
  #102 = #1 * COS[#100]   ; X
  #103 = #1 * SIN[#100]   ; Y
  G01 X#102 Y#103 F500
  #100 = #100 + #101
END1

Regla clave: SIEMPRE incrementar el contador dentro del bucle, o tendrás un bucle infinito.

Siguiente

Macro: Peck Drill