Привязка к детали сверлом

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Urec
Мастер
Сообщения: 402
Зарегистрирован: 23 окт 2012, 11:32
Репутация: 92
Настоящее имя: Георгий
Откуда: г.Москва
Контактная информация:

Привязка к детали сверлом

Сообщение Urec »

Здравствуйте.
Пните пожалуйста в какую сторону смотреть.
Есть фрезер ГФ2171 вертикальный.
Кладем на него прямоугольную пластину.
Нужно найти ее центр.
Вставляю сверло. На глаз привязываюсь к левому краю по кромке, обнуляю, еду к правому краю. Там на глаз привязываюсь к правому краю.
Смотрю на индикацию по Х. В уме делю на 2 и вручную перегоняю к центру пластины в получившееся значение. ТК на 2 я делю плохо, вчера на 5мм ошибся и насверлил дырок со смещением.

Повторяю операцию по оси Y
Мне бы 2 кнопочки добавить чтобы линукс вручную делил координату пополам и переезжал в нее самостоятельно по оси Х и Y
Так же оно будет удобно работать для поиска центра отверстия светящимся щупом который пищит и загорается при касании шариком детали токопроводящей

И еще совсем хорошо было бы поворот системы координат делать
обнулили Y по нижней кромке, проехали вдоль кромки направо, увидели смещение кромки, переехали по Y до совмещения и исходя из получившегося смещения в мм, пересчитали поворот системы координат.
Очень неудобно на плазме большие листы каркалыжками под резаком туда сюда толкать чтоб вдоль оси плазмы они легли.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

Re: Привязка к детали сверлом

Сообщение merkwurdigliebe »

я добавил себе в axis такую штуку, повесил на Shift+End

https://github.com/yur7aev/linuxcnc/blo ... ts/axis.py

Код: Выделить всё

def touch_off_center(event=None, new_axis_value = None):
        global system
        if not manual_ok(): return
        if joints_mode(): return

	system = vars.touch_off_system.get().split()[0]
        a = vars.ja_rbutton.get()
        offset_command = "G10 L20 %s %c[#<_%c> / 2]" % (system, a, a)

        doit = prompt_areyousure(_("Confirm center"), _("Center %c axis in system %s?\n%s") % (a, system, offset_command))

        if doit:
	    ensure_mode(linuxcnc.MODE_MDI)
            s.poll()
            c.mdi(offset_command)
            c.wait_complete()
            ensure_mode(linuxcnc.MODE_MANUAL)
            s.poll()

        o.tkRedraw()
        reload_file(False)

Код: Выделить всё

root_window.bind("<Shift-End>", commands.touch_off_center)
Ответить

Вернуться в «LinuxCNC»