Gкод для обработки шнека на токарном станке
Шнек можно изготовить на токарном станке при хитрости и G33.
Обсуждение тут: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=11316#p272903
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