Страница 1 из 1
LinuxCNC - как правильно гравировать несколько копий?
Добавлено: 14 сен 2016, 15:54
Harconnen
Здравствуйте!
Я новичек.
Помогите сделать правильно, и не наступать на возможные грабли.
У меня уже готов Gcode рисунка для гравировки. На столе будет 10-12 копий одного и того-же рисунка.
Я так понял здесь будет правильно использовать G54 для установки нуля для каждого рисунка отдельно.
Я так понял что делаю первую деталь, потом переезжаю в нужную координату и обнуляю G54 и опять делаю эту же деталь.
Можно ли Gcode детали хранить с отдельном файле и подгружать этот файл каждый раз после кода G54, чтобы не плодить дублей, так как код может придется корректировать?
Если можно, пожалуйста приведите пример кода.
Re: LinuxCNC - как правильно гравировать несколько копий?
Добавлено: 14 сен 2016, 16:03
N1X
Есть еще G92, почитай про него...
Re: LinuxCNC - как правильно гравировать несколько копий?
Добавлено: 14 сен 2016, 16:05
Harconnen
Про G92 читал там делается отступ, я даже тему создавал, сошлись, что лучше использовать G54
Re: LinuxCNC - как правильно гравировать несколько копий?
Добавлено: 14 сен 2016, 16:15
Harconnen
Вот еще нашел на форуме:
Код: Выделить всё
#<num> = 9
#<r-step> = 40
#<mach> = 123 (номер подпрограммы)
O100 repeat [#<num>]
G10 L2 R[#5330+#<r-step>]
O<#mach> call
O100 endrepeat
Я так понял это мой случай.
Как правильно к подпрограмме привязать файл с кодом рисунка?
Чтобы такой код исполнялся в linuxcnc никаких дополнительных настроек не нужно?
Re: LinuxCNC - как правильно гравировать несколько копий?
Добавлено: 14 сен 2016, 17:17
aekhv
Да, в принципе твой случай, только в этом примере система координат поворачивается на 40 градусов 9 раз, итого полный круг. Я просто двигаю систему координат на нужный отступ по X и Y. Вот пример по-быстрому нарисовал, без использования циклов, но всё же.
Имеем одиночную программу:
(для просмотра содержимого нажмите на ссылку)1.jpg
Код: Выделить всё
%
( T6 | H6 | AAJ32502 )
N1 G21 G64 P0.05
N2 G0 G17 G40 G49 G80 G90
N3 T6 M6
N4 M8
N5 G0 G90 G54 X.431 Y1.252 S12000 M3
N6 G43 H6 Z5.
N7 Z-.3
N8 G1 Z-.92 F200.
N9 Y.355 F400.
N10 X1.13
N11 G3 Y1.255 R.45
N12 X1.1 Y1.254 R.45
N13 G1 F200.
N14 X.431 Y1.252 F400.
N15 F200.
N16 Y2.152 F400.
N17 X1.055
N18 G2 X1.1 Y1.254 R.45
N19 G0 Z-.3
N20 X1.939 Y2.152
N21 G1 Z-.92 F200.
N22 Y.352 F400.
N23 X2.995
N24 G0 Z-.3
N25 X3.355
N26 G1 Z-.92 F200.
N27 X3.499 Y.737 F400.
N28 F200.
N29 X4.03 Y2.152 F400.
N30 X4.56 Y.737
N31 F200.
N32 X4.705 Y.352 F400.
N33 G0 Z-.3
N34 X4.56 Y.737
N35 G1 Z-.92 F200.
N36 X3.499 F400.
N37 G0 Z-.3
N38 X5.065 Y1.252
N39 G1 Z-.92 F200.
N40 X6.093 F400.
N41 G0 Z-.3
N42 X6.453
N43 G1 Z-.92 F200.
N44 Y.355 F400.
N45 X7.153
N46 G3 Y1.255 R.45
N47 X7.122 Y1.254 R.45
N48 G1 F200.
N49 X6.453 Y1.252 F400.
N50 F200.
N51 Y2.152 F400.
N52 X7.077
N53 G2 X7.122 Y1.254 R.45
N54 G0 Z-.3
N55 X7.962 Y2.152
N56 G1 Z-.92 F200.
N57 Y.352 F400.
N58 X9.017
N59 G0 Z-.3
N60 X9.377
N61 G1 Z-.92 F200.
N62 X9.522 Y.737 F400.
N63 F200.
N64 X10.052 Y2.152 F400.
N65 X10.582 Y.737
N66 F200.
N67 X10.727 Y.352 F400.
N68 G0 Z-.3
N69 X10.582 Y.737
N70 G1 Z-.92 F200.
N71 X9.522 F400.
N72 G0 Z-.3
N73 X11.087 Y1.252
N74 G1 Z-.92 F200.
N75 X12.116 F400.
N76 G0 Z-.3
N77 X12.476
N78 G1 Z-.92 F200.
N79 Y.355 F400.
N80 X13.175
N81 G3 Y1.255 R.45
N82 X13.144 Y1.254 R.45
N83 G1 F200.
N84 X12.476 Y1.252 F400.
N85 F200.
N86 Y2.152 F400.
N87 X13.099
N88 G2 X13.144 Y1.254 R.45
N89 G0 Z-.3
N90 X13.984 Y2.152
N91 G1 Z-.92 F200.
N92 Y.352 F400.
N93 X15.039
N94 G0 Z-.3
N95 X15.399
N96 G1 Z-.92 F200.
N97 X15.544 Y.737 F400.
N98 F200.
N99 X16.074 Y2.152 F400.
N100 X16.605 Y.737
N101 F200.
N102 X16.749 Y.352 F400.
N103 G0 Z-.3
N104 X16.605 Y.737
N105 G1 Z-.92 F200.
N106 X15.544 F400.
N107 G0 Z-.3
N108 X17.185 Y.576
N109 G1 Z-.92 F200.
N110 X17.288 F400.
N111 X17.364 Y2.018
N112 G3 X17.11 Y2.03 R.127
N113 Y2.018 R.127
N114 G1 X17.185 Y.576
N115 G0 Z-.3
N116 X17.237 Y.455
N117 G1 Z-.92 F200.
N118 G3 Y.352 R.052 F400.
N119 Y.455 R.051
N120 G0 Z5.
N121 M5
N122 M30
%
Оформляем исходную УП как подпрограмму через sub...endsub, и вызываем её через call, после чего двигаем систему координат через G10 L20 P1:
(для просмотра содержимого нажмите на ссылку)2.jpg
Код: Выделить всё
%
o100 sub
( T6 | H6 | AAJ32502 )
N1 G64 P0.05
N2 G21
N3 G0 G17 G40 G49 G80 G90
N4 T6 M6
N5 G0 G90 G54 X.431 Y1.252 S12000 M3
N6 G43 H6 Z5.
N7 Z-.3
N8 G1 Z-.92 F200.
N9 Y.355 F400.
N10 X1.13
N11 G3 Y1.255 R.45
N12 X1.1 Y1.254 R.45
N13 G1 F200.
N14 X.431 Y1.252 F400.
N15 F200.
N16 Y2.152 F400.
N17 X1.055
N18 G2 X1.1 Y1.254 R.45
N19 G0 Z-.3
N20 X1.939 Y2.152
N21 G1 Z-.92 F200.
N22 Y.352 F400.
N23 X2.995
N24 G0 Z-.3
N25 X3.355
N26 G1 Z-.92 F200.
N27 X3.499 Y.737 F400.
N28 F200.
N29 X4.03 Y2.152 F400.
N30 X4.56 Y.737
N31 F200.
N32 X4.705 Y.352 F400.
N33 G0 Z-.3
N34 X4.56 Y.737
N35 G1 Z-.92 F200.
N36 X3.499 F400.
N37 G0 Z-.3
N38 X5.065 Y1.252
N39 G1 Z-.92 F200.
N40 X6.093 F400.
N41 G0 Z-.3
N42 X6.453
N43 G1 Z-.92 F200.
N44 Y.355 F400.
N45 X7.153
N46 G3 Y1.255 R.45
N47 X7.122 Y1.254 R.45
N48 G1 F200.
N49 X6.453 Y1.252 F400.
N50 F200.
N51 Y2.152 F400.
N52 X7.077
N53 G2 X7.122 Y1.254 R.45
N54 G0 Z-.3
N55 X7.962 Y2.152
N56 G1 Z-.92 F200.
N57 Y.352 F400.
N58 X9.017
N59 G0 Z-.3
N60 X9.377
N61 G1 Z-.92 F200.
N62 X9.522 Y.737 F400.
N63 F200.
N64 X10.052 Y2.152 F400.
N65 X10.582 Y.737
N66 F200.
N67 X10.727 Y.352 F400.
N68 G0 Z-.3
N69 X10.582 Y.737
N70 G1 Z-.92 F200.
N71 X9.522 F400.
N72 G0 Z-.3
N73 X11.087 Y1.252
N74 G1 Z-.92 F200.
N75 X12.116 F400.
N76 G0 Z-.3
N77 X12.476
N78 G1 Z-.92 F200.
N79 Y.355 F400.
N80 X13.175
N81 G3 Y1.255 R.45
N82 X13.144 Y1.254 R.45
N83 G1 F200.
N84 X12.476 Y1.252 F400.
N85 F200.
N86 Y2.152 F400.
N87 X13.099
N88 G2 X13.144 Y1.254 R.45
N89 G0 Z-.3
N90 X13.984 Y2.152
N91 G1 Z-.92 F200.
N92 Y.352 F400.
N93 X15.039
N94 G0 Z-.3
N95 X15.399
N96 G1 Z-.92 F200.
N97 X15.544 Y.737 F400.
N98 F200.
N99 X16.074 Y2.152 F400.
N100 X16.605 Y.737
N101 F200.
N102 X16.749 Y.352 F400.
N103 G0 Z-.3
N104 X16.605 Y.737
N105 G1 Z-.92 F200.
N106 X15.544 F400.
N107 G0 Z-.3
N108 X17.185 Y.576
N109 G1 Z-.92 F200.
N110 X17.288 F400.
N111 X17.364 Y2.018
N112 G3 X17.11 Y2.03 R.127
N113 Y2.018 R.127
N114 G1 X17.185 Y.576
N115 G0 Z-.3
N116 X17.237 Y.455
N117 G1 Z-.92 F200.
N118 G3 Y.352 R.052 F400.
N119 Y.455 R.051
N120 G0 Z5.
o100 endsub
o100 call
G10 L20 P1 Y[#5421 - 5]
o100 call
G10 L20 P1 Y[#5421 - 5]
o100 call
G10 L20 P1 X[#5420 - 20] Y[#5421 + 10]
o100 call
G10 L20 P1 Y[#5421 - 5]
o100 call
G10 L20 P1 Y[#5421 - 5]
o100 call
G10 L20 P1 X[#5420 + 20] Y[#5421 + 10]
M5
M30
%
Обрати внимание, что при оформлении подпрограммы сознательно убраны сроки
Ещё вот полезная шпаргалка, я регулярно пользуюсь:
http://linuxcnc.org/docs/html/gcode.html
Re: LinuxCNC - как правильно гравировать несколько копий?
Добавлено: 14 сен 2016, 19:01
Harconnen
Большое Спасибо, теперь картинка сложилась, все ясно и понятно. Сэкономили мне кучу времени.
За шпаргалку отдельное спасибо !