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

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

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

Гравировка произвольного пятизначного номера ЧПУ, Программирование, Fanuc, Cnc

Подчищаем проги от ненужных 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 (стоп)

%

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

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

1.7K постов11.5K подписчик