Циклы, подпрограммы и условия перехода в УП для Mach3

Galant1

Что-то я не нахожу весьма удобные для ручного программирования и обычные в нормальных стойках вещи , такие например как IF Z=Z+0.5 > 3 GOTO 1100 ELSE и так далее

То есть например надо вырезать в панели 10 дырок под D-SUB
Это же маразм писать каждую.
Даже копипейстить из внешнего файла - и то маразм.
Есть какие-нить инструменты?
Что-то я не нашел пока…

Рассматриваются ТОЛЬКО средства G-code

TheMarshall
Galant1:

Что-то я не нахожу весьма удобные для ручного программирования и обычные в нормальных стойках вещи , такие например как IF Z=Z+0.5 > 3 GOTO 1100 ELSE и так далее

То есть например надо вырезать в панели 10 дырок под D-SUB
Это же маразм писать каждую.
Даже копипейстить из внешнего файла - и то маразм.
Есть какие-нить инструменты?
Что-то я не нашел пока…

Рассматриваются ТОЛЬКО средства G-code

G92 перенуление +копирайт УП
G93 отмена перенуления (в маче вроде через G92 и отмена пишется)
F100
Y36.500Z-6.500X3.5000
Z-8.200X76.500
Z-6.500X81.500
Z-8.200Y39.000
Y-1.500Z-6.5000
X76.5000Z-8.2000
X3.500Z-6.500
X0.000

G92X0.000Y36.500Z-6.500
G0Z5.000
G0X81.500Z1.500
Z-8.200Y-1.500
Z-6.5000X76.5000
Z-8.2000X3.500
Z-6.500X0.000

G92X0.000Y36.500Z-6.500
G0Z5.000
G0X81.500Z1.500
Z-8.200Y-1.500
Z-6.5000X76.5000
Z-8.2000X3.500
Z-6.500X0.000

G92X0.000Y36.500Z-6.500
G0Z5.000
G0X81.500Z1.500
Z-8.200Y-1.500
Z-6.5000X76.5000
Z-8.2000X3.500
Z-6.500X0.000

G92X0.000Y36.500Z-6.500
G0Z5.000
G0X81.500Z1.500
Z-8.200Y-1.500

G93
G0Z5.000
G0X0.000Y0.000
M30

TheMarshall

M3
S5000
T1
F10
G0X50.000Y15.000Z-5.000
М98 Р1234 L50 (запустить подзадачу 50 раз)
G92.1
G92.2
G92.3
М30 (стоп)
О1234
G92X0.000Y-5.000Z0.000
Y0.000
Z5.000
Z-5.000
Z5.000
M99

X0 (движение туда и обратно)
М99 (возврат)

Galant1

Так, подпрограммки есть…Правда синтаксис немного непривычен, но да ладно…

Я бы ручками не стал связываться с перенулением, а писал бы подрограммки внутри исключительно в инкрементальных режимах с выходом из нее снова в абсолютку…
Тогда дал с основной абсолютную координату начала, она отпахала, встала снова в исходную- там следующую строку…

А вот как быть с счетчиками циклов? Например мне нужно снять контур в одном случае на 5 мм, во втором на 3, а за проход я могу сделать 1 мм вниз…
Нельзя ли внутри подпрограммки поставить условный оператор, который завершит прогу лишь при достижении заданного заглубления?

Creolka

Для того что бы посмотреть что и как - скопируй то что ниже, загрузи в Мах, думаю разберёшся.
Если будут вопросы звони или пиши.
Если на картинке будет один квадрат - нужно открыть в Эдиторе и после М99 нажать “ЕНТЕР” и “запомнить”.

G40 G53 G64 G80 G90
M6 T1
G43 H1
G0 X0 Y0
Z1 M3
M98 P1 L2
G90 G0 Z1
G52 X-50 Y25
M98 P1 L5
G90 G0 Z1
G52 X25 Y50
M98 P1 L3
G90 G0 Z1
Z50
M30
O1
G91
G1 Z-1 F150
X12.5 F500
Y-12
X-12.5
Y12
G90
M99

Galant1

Что-то не могу вкурить, а что Мач так некорректно с G40 G41 G42 работает?
Глючня полная! Таблица инструментов вылетает чуть не каждый раз, к ней не обращается…

Creolka

Расшифруй, чё написал-то!
С G40 G41 G42 - мах работает очень корректно!
В фрезоптионен поставь галочку на Erweitete Korrekturanalüse если не стоит.

Galant1
Creolka:

Расшифруй, чё написал-то!
С G40 G41 G42 - мах работает очень корректно!
В фрезоптионен поставь галочку на Erweitete Korrekturanalüse если не стоит.

А диаметр фрезы в теле проги пишешь или в таблицу инструментов?

Creolka

В окне Г-коды раздел инструмент где буква Д.
Маркируеш, ставиш диаметр и жмёш ентер - готово!

Galant1
Creolka:

В окне Г-коды раздел инструмент где буква Д.
Маркируеш, ставиш диаметр и жмёш ентер - готово!

Что-то я в шоке!!! Мачи у меня глючат на обоих компах не по деццки!!!

Вот код.

N10 (File Name )
N20 (Default Mill Post)
N30 G17 G80 G40
N40 G0 Z3.0000
N50 M6 T1 S15000
N55 M3
N56 M5
N60 G00 X5 Y0
N80 G01 Z0 F100
N300 M98 P1 L1
N315 G40
N310 G00 Z3
N320 G00 X10 Y0
N330 G01 Z0 F100
N330 M98 P1 L1
N3354 G40
N340 G00 Z3 F100
N350 G00 X0 Y0
N1370 M30
O1
N90 G91
N100 G42
N110 G01 X1.6 Y0 F250
N115 G17
N120 G02 X0 Y0 I-1.6 J0
N130 G01 Z-1
N140 G02 X0 Y0 I-1.6 J0
N150 G01 Z-1
N160 G02 X0 Y0 I-1.6 J0
N170 G01 Z-1
N180 G02 X0 Y0 I-1.6 J0
N190 G01 Z-1
N200 G02 X0 Y0 I-1.6 J0
N205 G40
N210 G01 X-0.4
N1340 G90
N1350 G00 Z3
N1360 M99

Короче, фреза 2,4 мм сверлю 2 дырки 3,2 мм

Такая хрень получается!! С IJ собака вообще несет околесицу
Что делает эта дурацкая дуга в начале второго отверстия??

Причем симуляторы Сименса и Андрона едят ее просто на раз и чудненько

По поводу Лази Кама я вспомнил 3/4 могучего языка! Вот убожище то! перепрыгнуть с внутреннего контура в наружний для него- как два …байта переслать 😦

Galant1

ЗЫ. А теперь ваще ест оператор М99 из подпрограмы и не идет дальше 😦

Galant1

дальше- больше…
Склько бы дырок ни делал- она всегда будет возвращаться к точке G42 найденной в первом цикле 😦
То есть работа с циклами в Маче- глючное. Прооверил на другом компе, где чистая нисталляция Виндов и свежескачанного Мача…

Прога.

G17 G80 G40
M6 T1 S15000
G00 X10 Y0
N80 G01 Z0 F100
G91
M98 P20 L1
G90
G00 X20 Y0
N80 G01 Z0 F100
G91
M98 P20 L1
G90
G40
G00 Z3
G00 X30 Y0
G01 Z0 F100
G91
M98 P20 L1
G90
G40
G00 Z3
G00 X0 Y0
M30

O20
G42
G91
G01 X1.6 Y0 F250
G02 X0 Y0 I-1.6 J0
G01 Z-1
G02 X0 Y0 I-1.6 J0
G01 Z-1
G02 X0 Y0 I-1.6 J0
G01 Z-1
G02 X0 Y0 I-1.6 J0
G01 Z-1
G02 X0 Y0 I-1.6 J0
G40
G01 X-0.4
G00 Z5
M99

результат посмотрите сами 😃

AlexSpb

Роберт,скажи что ты хочешь получить в результате,а так ничего не понять

Creolka

Диаметр фрезы поставь 0,5мм !!!

G40 G53 G64 G80 G90
M6 T1 S15000
G00 X10 Y0
Z1
G01 Z0 F100
M98 P20
G00 X20 Y0
Z1
G01 Z0 F100
M98 P20
G00 X30 Y0
Z1
G01 Z0 F100
M98 P20 L1
G00 Z5
G00 X0 Y0
M30

O20
G91
G42
F250
G02 X0 Y0 Z-1 I-1.6 J0
G02 X0 Y0 Z-1 I-1.6 J0
G02 X0 Y0 Z-1 I-1.6 J0
G02 X0 Y0 Z-1 I-1.6 J0
G02 X0 Y0 Z-1 I-1.6 J0
G00 Z6
G40
G90
M99

Creolka

Для тех: … “кто духом пал и ни во что не верит”…
Маленькая программка, … на несколько тыс. строк.
Полностью обработана и составлена с помощью Лази КАМ.
Составление чертежа заняло около 4-х часов, обработка примерно 15 мин.
Размер мластины 1000х200 мм.
Время фрезеровки 34 минуты, фреза 1,1 мм.
Есть небольшие ньюансы, чертёж длжен быть составлен БЕЗ разрывов между линиями.
В противном случае будет всё что угодно, а не то что надо.

З.Ы.
Без обид пожалуйста!
Прежде чем говорить: туфта/глючня/творит что попало и требовать от проги
стоимостью в 200 долларей того же что и за несколько тысяч, нужно хоть чуть-чуть
изучить что и как.
С уважением.

Galant1
Creolka:

Для тех: … “кто духом пал и ни во что не верит”…

З.Ы.
Без обид пожалуйста!
Прежде чем говорить: туфта/глючня/творит что попало и требовать от проги
стоимостью в 200 долларей того же что и за несколько тысяч, нужно хоть чуть-чуть
изучить что и как.
С уважением.

Да какие обиды? не легла к ней душа просто и все тут!
ВОт честно- я страрался ее полюбить… Но…
Сердцу не прикажешь 😃

Вот попробуй тоже самое в Филошке или скинь DXF ку