Круглый шнек на токарном станке: различия между версиями
Перейти к навигации
Перейти к поиску
Nick (обсуждение | вклад) (Новая страница: «#<_d> = [34 + 0.25] (диаметр d) #<_d1> = [45 + 0.25] (диаметр D) #<_e> = [[#<_d>-#<_d1>]/2] (e) #<_l> = [42] (шаг) #<_l1> = [6*#<_l>*…») |
Nick (обсуждение | вклад) |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
| + | <pre> | ||
#<_d> = [34 + 0.25] (диаметр d) | #<_d> = [34 + 0.25] (диаметр d) | ||
| − | + | #<_d1> = [45 + 0.25] (диаметр D) | |
| − | + | #<_e> = [[#<_d>-#<_d1>]/2] (e) | |
| − | + | #<_l> = [42] (шаг) | |
| − | + | #<_l1> = [6*#<_l>*0+50] (общая длина) | |
| − | + | #<_step> = 0.2 (шаг реза мм/оборот) | |
| − | + | #<_astep> = [10] (шаг по углу - в градусах) | |
| − | + | G21 | |
| − | + | #<_x_res> = 0 | |
| − | + | O101 SUB | |
| − | + | ; Get X at point of rotation | |
| − | + | #<a> = #1 | |
| − | + | #<cx> = [#<_e>*SIN[#<a>]] | |
| − | + | #<cy> = [#<_e>*COS[#<a>]] | |
| − | + | #<t> = [#<_d>*#<_d>/4 - #<cy>*#<cy>] | |
| − | + | (DEBUG, #<cx> #<cy> #<a> #<_e>) | |
| − | + | O102 IF [#<t> GE 0] | |
| − | + | #<_x_res> = [SQRT[#<t>]+#<cx>] | |
| − | + | O102 ELSE | |
| − | + | #<_x_res> = 0 | |
| − | + | O102 ENDIF | |
| − | + | O101 ENDSUB | |
| − | + | F100 | |
| − | + | M3 S30 | |
| − | + | O100 SUB | |
| − | + | G0 X[#<_d1> + 10] | |
| − | + | G0 Z[5] | |
| − | + | #<x> = #<_x> | |
| − | + | #<z> = #<_z> | |
| − | + | O105 WHILE [#<z> GT [0-#<_l1>]] | |
| − | + | #<a> = [#<a> + #<_astep>] | |
| − | + | #<zl> = #<z> | |
| − | + | #<z> = [ - #<a>/360*#<_step>] | |
| − | + | #1 = [#<z>-#<zl>] | |
| − | + | (DEBUG, #1) | |
| − | + | #<a1> = [#<a> + #<z>/#<_l>*360] | |
| − | + | O101 CALL [#<a1>] ; Get X | |
| − | + | #<xl> = #<x> | |
| − | + | #<x> = #<_x_res> | |
| − | + | #<dz> = [#<z>-#<zl>] | |
| − | + | #<dx> = [#<x>-#<xl>] | |
| − | + | G33 Z#<z> X#<x> K [SQRT[#<dz>*#<dz> + #<dx>*#<dx>]*360/#<_astep>] | |
| − | + | O105 END WHILE | |
| − | + | G0 X[#<_d1> + 10] | |
| − | + | O100 END SUB | |
| − | + | O100 CALL | |
| − | + | M2 | |
| + | </pre> | ||
Текущая версия на 05:47, 20 марта 2017
#<_d> = [34 + 0.25] (диаметр d) #<_d1> = [45 + 0.25] (диаметр D) #<_e> = [[#<_d>-#<_d1>]/2] (e) #<_l> = [42] (шаг) #<_l1> = [6*#<_l>*0+50] (общая длина) #<_step> = 0.2 (шаг реза мм/оборот) #<_astep> = [10] (шаг по углу - в градусах) G21 #<_x_res> = 0 O101 SUB ; Get X at point of rotation #<a> = #1 #<cx> = [#<_e>*SIN[#<a>]] #<cy> = [#<_e>*COS[#<a>]] #<t> = [#<_d>*#<_d>/4 - #<cy>*#<cy>] (DEBUG, #<cx> #<cy> #<a> #<_e>) O102 IF [#<t> GE 0] #<_x_res> = [SQRT[#<t>]+#<cx>] O102 ELSE #<_x_res> = 0 O102 ENDIF O101 ENDSUB F100 M3 S30 O100 SUB G0 X[#<_d1> + 10] G0 Z[5] #<x> = #<_x> #<z> = #<_z> O105 WHILE [#<z> GT [0-#<_l1>]] #<a> = [#<a> + #<_astep>] #<zl> = #<z> #<z> = [ - #<a>/360*#<_step>] #1 = [#<z>-#<zl>] (DEBUG, #1) #<a1> = [#<a> + #<z>/#<_l>*360] O101 CALL [#<a1>] ; Get X #<xl> = #<x> #<x> = #<_x_res> #<dz> = [#<z>-#<zl>] #<dx> = [#<x>-#<xl>] G33 Z#<z> X#<x> K [SQRT[#<dz>*#<dz> + #<dx>*#<dx>]*360/#<_astep>] O105 END WHILE G0 X[#<_d1> + 10] O100 END SUB O100 CALL M2