Цикл сверления со сдвигом
INCT_DrillingCycleWithShiftFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений в циклах сверления со сдвигом. При вызове с параметром dctWithShift функция INCT_CLData.CreateDrillingCycleFormer, INCT_GeomCLData.CreateDrillingCycleFormer в качестве результата возвращает объект, реализующий два интерфейса: INCT_DrillingCycleFormer, INCT_DrillingCycleWithShiftFormer.
Посредством интерфейса INCT_DrillingCycleFormer для цикла сверления со сдвигом задаются основные параметры. Описание использования приведено в этой статье Цикл сверления.
Интерфейс INCT_DrillingCycleWithShiftFormer добавляет в реализацию формирователя возможность управления параметрами построения траектории со сдвигом.
Предназначение:
Перемещения в различных циклах сверления со сдвигом, для разных стоек в общем случае повторяют одинаковую траекторию:
Позиционирование инструмента над центром отверстия/следующего отверстия на ускоренной подаче.
Перемещение инструмента к уровню ускоренного перемещения на ускоренной подаче.
Перемещение инструмента к уровню дна отверстия на рабочей подаче.
Возврат к уровню ускоренного перемещения на ускоренной подаче.
Возврат к уровню отхода/возврата на ускоренной подаче.
Если количество повторений не закончилось, вернуться к пункту 1.
На одном или нескольких участках таких циклов траектория движения инструмента смещена вдоль одной или нескольких осей. Примеры таких циклов, Fanuc: G76, G87; Sinumerik: CYCLE86; Heidenhain: CYCL DEF 202 и др.
Использование формирователя:
Рекомендуем создавать новый формирователь цикла сверления для каждого нового цикла в кадре управляющей программы, кроме случаев повторения работы цикла в новом кадре (аналог CYCL CALL для Heidenhain). Таким образом, интерфейс старого формирователя должен освобождаться при создании нового или завершении работы интерпретатора.
Использование интерфейса INCT_DrillingCycleFormer позволяет по заданным параметрам: первоначальное положение, уровни ускоренного перемещения, дна отверстия, количества повторов и пр. сформировать траекторию движения инструмента. А так же добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности: выстой, ориентированный останов, нарезание резьбы и прочее, изменить тип или значение подачи, либо пропустить перемещение инструмента, подготовленное формирователем.
Использование интерфейса INCT_DrillingCycleWithShiftFormer позволяет задать смещение координатам точек перемещения инструмента, на любом из этапов цикла, кроме первого. На каждом из заданных этапов перемещение инструмента из текущей точки в новую точку производится следующим образом:
перемещение из текущей точки в текущую точку со смещением;
перемещение из текущей точки со смещением в новую точку со смещением;
перемещение из новой точки со смещением в новую точку.
Для формирования команд движения инструмента по траектории цикла, необходимо выполнить следующие шаги:
Получить интерфейсы формирователя (INCT_CLData.CreateDrillingCycleFormer, INCT_GeomCLData.CreateDrillingCycleFormer с параметром dctWithShift).
Задать индексы осей X, Y, Z, по которым будут производиться перемещения (Set_AxisIndexes).
Задать текущую плоскость (Set_Plane).
Задать значение точки центра отверстия (Set_HoleCenter).
Задать режим точки центра (Set_HoleCenterMode).
Задать уровень ускоренного перемещения (Set_RapidLevel).
Задать уровень дна отверстия (Set_BottomLevel).
Задать уровень возврата (Set_TopLevel).
Задать подачу (Set_Feedrate), единицы измерения подачи (Set_MPM).
Задать количество повторений работы цикла (Set_Count).
Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.
Задать тип смещения точек перемещения инструмента (SetShiftByOneAxis или SetShiftBySomeAxis).
Задать участки траектории движения инструмента, на которых будет действовать смещение (Set_ShiftPathSet).
Сформировать команды движения инструмента по траектории цикла (MakeWorkpath).
Описание методов интерфейса INCT_DrillingCycleWithShiftFormer:
Метод |
Описание метода |
SetShiftByOneAxis |
Метод переключает тип расчёта смещений в значение "Расчёт по одной оси" и размер смещения. В этом случае, для всех этапов, смещение будет производиться вдоль одной из осей в зависимости от заданной в Set_Plane плоскости: для ptXY по оси X, для ptYZ по оси Y, для ptZX по оси Z. Входной параметр: Value (вещественное число) - значение смещения. Выходных параметров нет. |
SetShiftBySomeAxis |
Метод переключает тип расчёта смещений в значение "Расчёт по выбранным осям" и задаёт размер смещений для каждой оси. В этом случае смещение точки уровня дна отверстия будет производиться вдоль выбранных осей с заданными значениями. Для остальных уровней смещение будет производиться вдоль выбранных осей, кроме оси сверления, так же с заданными значениями, по оси сверления без смещения. Входной параметр: Axis (TNCShiftAxis.X, Y, Z - логическое) оси, по которым выполняются смещения; Values(TNCShiftValues.X, Y, Z - вещественное число) - значения смещений по осям. Выходных параметров нет. |
Set_ShiftPathSet |
Метод задаёт этапы в траектории движения инструмента на которых формирователь цикла будет делать смещение. Входной параметр: Value (TNCShiftPathSet) - множество этапов траектории, на которых формирователь цикла будет делать смещение. Можно выбрать несколько этапов траектории. spMoveToRapidLevel - при перемещении к уровню ускоренного перемещения; Выходных параметров нет. |
Get_ShiftPathSet |
Функция возвращает заданные этапы в траектории движения инструмента на которых формирователь цикла будет делать смещение (TNCShiftPathSet). |
Get_ShiftNextHole |
Функция возвращает рассчитанные для текущей итерации координаты точки текущего отверстия со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). |
Get_ShiftRapidPoint |
Функция возвращает рассчитанные для текущей итерации координаты точки ускоренного перемещения со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). |
Get_ShiftTopPoint |
Функция возвращает рассчитанные для текущей итерации координаты точки отхода/возврата со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). |
Get_ShiftBottomPoint |
Функция возвращает рассчитанные для текущей итерации координаты точки дна отверстия со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). |