Циклы в Gкоде

Материал из cnc-club
Перейти к: навигация, поиск

Все просто:

O100 REPEAT [10] (начало цикла, в квадратных скобках количество проходов)
O100 ENDREPEAT (конец цикла)

При этом используется особый О-код. После буквы "О" идет уникальный идентификатор, или цифренный O100, или буквенный O<my-repeat>. Идентификаторы конца и начала цикла должны совпадать.

Потом усложняем:

#<start> = 0 (начальная точка)
#<end> = 10 (конечная точка)
#<step> = 0.1 (шаг)
#<steps> = [[#<end>-#<start>]/#<step>]
#<pos> = #<start>
O100 REPEAT [#<steps>] (начало цикла в квадратных скобках количество проходов)
   G1 X#<pos>
   G1 Z-100
   G1 Z0
   #<pos> = [#<pos>+#<step>]
O100 ENDREPEAT (конец цикла)


В вообще лучше всего так:

#<start> = 0 (начальная точка)
#<end> = 10 (конечная точка)
#<step> = 0.1 (шаг)
#<pos> = #<start>
O100 WHILE [#<pos> LT #<end>] (цикл пока pos меньше конечной точки)
   G1 X#<pos>
   G1 Z-100
   G1 Z0
   #<pos> = [#<pos>+#<step>]
O100 ENDWHILE (конец цикла)
G1 X#<end>
G1 Z-100
G1 Z0

Также к этому коду можно добавить проверку на то что #<end> больше #<start>.