Конусная резьба G-код

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

Шаг резьбы вдоль оси конуса!

Резьба режется из текущей точки по Z и X. Безопасная плоскость текущий X+10!

Конусная резьба

(Taper Thread Subroutine for LinuxCNC)
(Latest source can be found at:)
(http://www.cnc-club.ru/wiki/index.php/Taper_thread_Gcode)

O<taper-thread> SUB
	#<Dst>	= #1
	#<Dend>	= #2
	#<l>	= #3
	#<dx> = [#<Dst>-#<Dend>]
	#<p> 	= SQRT[#4*#4 + #<dx>*#<dx>/4]
	#<step> = [#5/#6]
	#<steps> = #6

	(penetrate agle)
	#<pa> = 30
	#<px> = [#<step>*2]
	#<pz> = [ TAN[#<pa>] * #<px> ]
	#<x> = #<_x>
	#<z> = #<_z>
	#<safe_dist> = 10

	#<i> = #<steps> 
	O<taper-thread0> REPEAT [#<steps>]
		G0 X[#<x>+#<safe_dist>]
		G0 Z[#<z> + #<pz>]
		G0 X[#<x>]
		
		#<i> = [#<i>-1]
		G1 X[#<Dst> + #<i>*#<step> + #<px>] 
		G1 X[#<Dst> + #<i>*#<step>] Z[#<z>]
		G33 X[#<Dend> + #<i>*#<step>] Z[#<z>-#<l>] K[#<p>]
		G0 X[#<x>+#<safe_dist>]
	O<taper-thread0> ENDREPEAT
O<taper-thread> ENDSUB

(Параметры)
(1 - начальный диаметр)
(2 - конечный диаметр)
(3 - длинна резьбы)
(4 - шаг резьбы)
(5 - глубина резьбы)
(6 - количество проходов) 

(Parameters)
(1 - start dia)
(2 - end dia)
(3 - thread length)
(4 - pitch)
(5 - depth of thread)
(6 - number of passes)

G0 X80
G0 Z50
M3 S150
F100
O<taper-thread> CALL [46] [58] [100] [5] [2.5] [5]

M2