Gкод для обработки шнека на токарном станке

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

Шнек можно изготовить на токарном станке при хитрости и 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