30

Гравировка произвольного пятизначного номера

Уже встречались посты, как делают варианты произвольной гравировки, решил поделится своим решением.

Простая задача. Нужно гравировать произвольный пятисимвольный номер (00001 - 99999). Требования к отрисовке - не просто обойти символ по контуру, а заштриховать внутри, как карман. Со стойки такую закраску придумывать долго и грустно, поэтому делаем в CAD\CAM системе заготовки и варианты гравировки каждой цифры. Все символы в пределах одного блока, привязка всегда одинакова. Покажу на примере символа 0.

Гравировка произвольного пятизначного номера

Подчищаем проги от ненужных G-кодов после поста и скидываем на стойку по следующему правилу:

Символ 0 - O5000

Символ 1 - O5001

....

Символ 9 - O5009


Значение номера для гравировки запишем в макропеременную #700, в этом случае значения не пропадут после ресета, M30 и отключения питания.

Начало гравировки зададим в системе координат G54.1 P1


Теперь пишем свою простенькую программу:

%

O7777 (имя программы)

M6T5 (вызов гравера)

G54.1 P1 G90 G0 X0 Y0 S7000 M3 (рабочая система координат G54.1 P1, абсолютный ускоренный сдвиг в нули по X и Y, семь тыщ оборотов по часовой)

G43 H5 G0 Z50. (ускоренный подвод до Z50. с корректором на длину 5)

(немножко побыдлокодим)

#10=FIX[#700/10000] (вычисление смещения для первого символа)

#11=FIX[#700/1000-#10*10] (вычисление смещения для второго символа)

#12=FIX[#700/100-#10*100-#11*10] (вычисление смещения для третьего символа)

#13=FIX[#700/10-#10*1000-#11*100-#12*10] (вычисление смещения для четвертого символа)

#14=FIX[#700-#10*10000-#11*1000-#12*100-#13*10] (вычисление смещения для пятого символа)

#700=#700+1. (следующий номер с шагом 1)

M1 (жми кнопку, Макс)

G52X0.Y0. (смещение начальной точки отрисовки символа)

G65P[5000+#10] (вызов подпрограммы с нужным символом)

G52X3.5Y0. (смещение начальной точки отрисовки символа +3.5 по X)

G65P[5000+#11] (вызов подпрограммы с нужным символом)

G52X7.Y0. (смещение начальной точки отрисовки символа +7 по X)

G65P[5000+#12] (вызов подпрограммы с нужным символом)

G52X10.5Y0. (смещение начальной точки отрисовки символа +10.5 по X)

G65P[5000+#13] (вызов подпрограммы с нужным символом)

G52X14.Y0. (смещение начальной точки отрисовки символа +14 по X)

G65P[5000+#14] (вызов подпрограммы с нужным символом)

M5 (остановка вращения шпинделя)

G0 G91 G28 Z0 (домой в нули по Z)

G0 G91 G28 X0 Y0 (домой в нули по X Y)

G90 (абсолютные координаты)

M30 (стоп)

%

После отработки программы заданный номер гравировки изменится на следующий. От оператора потребуется только ставить детали и жать кнопку.

Лига ЧПУшников

2.1K постов12K подписчиков

Правила сообщества

никакой политики

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий
Ну да.. это все гораздо проще конечно чем в арткаме нажать кнопку с буквой и ткнуть сформировать уп....
раскрыть ветку (15)
4
Автор поста оценил этот комментарий

Партия деталей более 200 штук, на каждой уникальный номер. Будешь для каждой программу с гравировкой делать?

раскрыть ветку (14)
4
Автор поста оценил этот комментарий
Так то оно да. Но есть вариант человекофактора. Гравировка как правило делается уже на готовой детали и если оператор упорет, будет больно и обидно. Да и программисты что, зря свой хлеб едят? Как программист в крео и повермилле, скажу что не так много понадобится времени на 200 гравировок. Написать на одну, а потом тупо подсовывать новую модель. Как наладчик, скажу что с параметрами и переменными конечно можно работать, но муторно. На старых станках так работали. Вернее даже на древних. Сейчас, ну хз. Муторно.
раскрыть ветку (11)
2
Автор поста оценил этот комментарий

Что за наркомания? Зачем писать 200программ если можно сделать одну в параметрах? Ну только если оплата зависит от количества просчитанных программ, иначе нет смысла. Наладчик с ума сойдёт перебирать эти программы и 146% ошибётся с номером.

1
Автор поста оценил этот комментарий

На каком этапе багнется оператор\наладчик, ставя готовую деталь и нажимая кнопку (т.е. делая свою основную работу)?

Добавлять в сборку 200 одинаковых деталей, сопрягая их, добавлять новые контура для обработки - ну такое себе, видимо, программисты в крео и павермиле любят позаморачиваться однотипной работой.

раскрыть ветку (9)
1
Автор поста оценил этот комментарий
И не добавляя в сборку 200 деталей. Пишется одна обработка. Потом вместо модели под номером допустим 100, подменяется на 176. Обработка гравером автоматически перестраивается под новые траектории.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ок. Есть модель детали, даже с деревом построения, есть нужный шрифт для гравировки. Есть софт, лихо преобразующий контура в траектории кармана. Время цикла гравировки - две-три минуты. За это время как раз можно успеть пересчитать следующий контур, закинуть прогу в станок по проводу (ну не с флешками же бегать каждый раз). Удобно, спору нет.

0
Автор поста оценил этот комментарий
Я так понял что оператор ставит, условно 133 деталь, и пишет на ней 133. Так? Он может запутаться и сделать два одинаковых номера? Была бы отдельная прога, на каждый номер и то вероятность ошибки велика. А тут ещё и руками править под каждый отдельный случай. Чем больше движений, тем больше вероятность ошибиться.
раскрыть ветку (6)
1
Автор поста оценил этот комментарий

С точки зрения вашего опыта, #700=#700+1. в программе зачем?)

раскрыть ветку (5)
2
Автор поста оценил этот комментарий
Вы или не понимаете или не хотите понять меня. Прогу правит человек. А человек может заговориться, задуматься, сходить в туалет или закончить смену. Когда детали разные, проще в том плане что мозг не ассоциирует вон ту плиту с вот этим фланцем. Когда же идет монотонная работа с практически идентичными деталями, различающимися лишь инвентарными номерами, имхо, ошибиться как два пальца об асфальт. И я честно не понимаю зачем эти танцы с бубном в наше время.
раскрыть ветку (4)
2
Автор поста оценил этот комментарий

Ваше мнение порождено чтением поста по диагонали. Программа работает следующим образом: значение начального номера задается один раз в макропеременную #700. Делается через offset->macro на фануке. Дальше оператор только ставит новые детали, каждый раз у него получается новый номер с шагом 1, т.е. 00123 00124 00125 и т.д. Никаких других манипуляций не требуется.

раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Ммм... На фануках работал лет 10 назад и переменными не пользовались. Как Вы сейчас рассказали, удобно спору нет. Если всё так. Но хоть убей не понимаю в каком месте программа считает сама детали. М30 вижу в конце, стоп проги. После этого прога возвращается на первый кадр и станок стоит. Где сохраняется то номер сделаной детали?
раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Первая деталь - значение #700 = 00111

отработка программы, в ходе которой к #700 прибавляется 1

Второй установ - значение #700 уже 00112

и.т.


Макропеременная выбрана из диапазона, не обнуляющегося при ресете, M30 и отключении питания (это есть в посте выше)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Любопытно. Всё равно не понимаю как это работает и где сохраняется) Надо почитать будет на досуге. В общем снимаю шляпу, в таком случае, как Вы описываете, ошибки быть не может разумеется.
0
Автор поста оценил этот комментарий
А что гравируете. Лазором не проще выжечь?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Проще. Будем так делать, когда купят лазер

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку