Gкод для обработки шнека на токарном станке: различия между версиями
Nick (обсуждение | вклад) (Новая страница: «Шнек можно изготовить на токарном станке при хитрости и G33. G33 едет синхронно со шпинделе…») |
Nick (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
Шнек можно изготовить на токарном станке при хитрости и G33. | Шнек можно изготовить на токарном станке при хитрости и G33. | ||
| + | |||
| + | Обсуждение тут: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=11316#p272903 | ||
| + | |||
G33 едет синхронно со шпинделем. | G33 едет синхронно со шпинделем. | ||
G33 X- Y- Z- K- | G33 X- Y- Z- K- | ||
| Строка 33: | Строка 36: | ||
Например так: | Например так: | ||
| − | 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:12, 20 апреля 2016
Шнек можно изготовить на токарном станке при хитрости и 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