Gкод для обработки шнека на токарном станке: различия между версиями
Перейти к навигации
Перейти к поиску
Nick (обсуждение | вклад) (Новая страница: «Шнек можно изготовить на токарном станке при хитрости и G33. G33 едет синхронно со шпинделе…») |
Nick (обсуждение | вклад) |
||
| Строка 33: | Строка 33: | ||
Например так: | Например так: | ||
| − | O | + | O<shnek> SUB |
| − | # | + | #<step_st> = #1 ; начальный шаг шнека |
| − | # | + | #<step_end> = #2 ; конечный шаг шнека |
| − | # | + | #<l> = #3 ; общая длинна |
| − | # | + | #<dl> = #4 ; шаг разбивки |
| − | # | + | #<i\> = 0 ; текущее положение |
| − | O | + | O<shnek-r> repeat[#<l>/#<dl>] ; цикл по разбивке |
| − | # | + | #<t> = [#<i>/#<l>] |
| − | G33 Z[ | + | G33 Z[<#_z>-#<dl>] K[#<step_st>*[1-#<t>] + #<step_st>*#<t>] |
| − | # | + | #<i> = [#<i> + #<dl>] |
| − | O | + | O<shnek-r> ENDREPEAT |
| − | O | + | O<shnek> ENDSUB |
G0 X100 | G0 X100 | ||
G0 Z0 | G0 Z0 | ||
G0 X50 | G0 X50 | ||
| − | O | + | O<shnek> SUB CALL [10] [20] [100] [0.1] ; первый проход |
G0 X10 | G0 X10 | ||
G0 Z1 | G0 Z1 | ||
G0 X50 | G0 X50 | ||
| − | O | + | O<shnek> SUB CALL [10] [20] [100] [0.1] ; второй проход |
; и т.д. кстати, все это тоже можно в цикле сделать. | ; и т.д. кстати, все это тоже можно в цикле сделать. | ||
Версия 12:10, 20 апреля 2016
Шнек можно изготовить на токарном станке при хитрости и G33. G33 едет синхронно со шпинделем. G33 X- Y- Z- K- Едет в точку X- Y- Z- со скоростью четко К-мм на оборот.
Т.е., если пишем:
G0 Z0 G33 Z-10 K1
То получим резьбу с шагом 1мм. Если нужно сделать переменный шаг, то нужно чуть хитрее, можно написать :
G0 Z0 G33 Z-5 K1 G33 Z-10 K2
Получим резьбу с шагом 1 до Z-5 дальше резьбу с шагом 2мм..
Если нужно плавно менять шаг, то это можно сделать разбив все на более маленькие отрезки. Т.е. например вот так (тут с циклом и всеми делами):
G0 Z0 #<step> = 1 O100 repeat[100] ; цикл 100 раз G33 Z[<#_z>-0.1] K#<step> #<step> = [#<step>+0.1] O100 END REPEAT[/code]
Кстати для шнека там может быть просто 2-3 разных шага на всю длинну, т.е. можно цикл и не использовать. Но дальше ты захочешь выбрать шнек за несколько проходов. Тогда надо несколько раз подходить и смещать начальную точку.
Например так:
O<shnek> SUB #<step_st> = #1 ; начальный шаг шнека #<step_end> = #2 ; конечный шаг шнека #<l> = #3 ; общая длинна #<dl> = #4 ; шаг разбивки #<i\> = 0 ; текущее положение O<shnek-r> repeat[#<l>/#<dl>] ; цикл по разбивке #<t> = [#<i>/#<l>] G33 Z[<#_z>-#<dl>] K[#<step_st>*[1-#<t>] + #<step_st>*#<t>] #<i> = [#<i> + #<dl>] O<shnek-r> ENDREPEAT O<shnek> ENDSUB G0 X100 G0 Z0 G0 X50 O<shnek> SUB CALL [10] [20] [100] [0.1] ; первый проход G0 X10 G0 Z1 G0 X50 O<shnek> SUB CALL [10] [20] [100] [0.1] ; второй проход ; и т.д. кстати, все это тоже можно в цикле сделать. G0 X10 G0 Z0