Циклы в Gкоде: различия между версиями
Перейти к навигации
Перейти к поиску
Nick (обсуждение | вклад) (Новая страница: «Все просто: O100 REPEAT [10] (начало цикла в квадратных скобках количество проходов) O100 ENDREPEAT (…») |
Nick (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
O100 REPEAT [10] (начало цикла в квадратных скобках количество проходов) | O100 REPEAT [10] (начало цикла в квадратных скобках количество проходов) | ||
O100 ENDREPEAT (конец цикла) | O100 ENDREPEAT (конец цикла) | ||
+ | |||
+ | При этом используется особый О-код. После буквы "О" идет уникальный идентификатор, или цифренный O100, или буквенный O<my-repeat>. Идентификаторы конца и начала цикла должны совпадать. | ||
+ | |||
Потом усложняем: | Потом усложняем: | ||
− | |||
#<start> = 0 (начальная точка) | #<start> = 0 (начальная точка) |
Версия 12:34, 15 июня 2015
Все просто:
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>.