Цикл сверления со сдвигом

INCT_DrillingCycleWithShiftFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений в циклах сверления со сдвигом. При вызове с параметром dctWithShift функция INCT_CLData.CreateDrillingCycleFormer, INCT_GeomCLData.CreateDrillingCycleFormer в качестве результата возвращает объект, реализующий два интерфейса: INCT_DrillingCycleFormer, INCT_DrillingCycleWithShiftFormer.

Посредством интерфейса INCT_DrillingCycleFormer для цикла сверления со сдвигом задаются основные параметры. Описание использования приведено в этой статье Цикл сверления.

Интерфейс INCT_DrillingCycleWithShiftFormer добавляет в реализацию формирователя возможность управления параметрами построения траектории со сдвигом.

images/download/attachments/95428005/DrillingCycleFormerWithShift.png

Предназначение:

Перемещения в различных циклах сверления со сдвигом, для разных стоек в общем случае повторяют одинаковую траекторию:

  1. Позиционирование инструмента над центром отверстия/следующего отверстия на ускоренной подаче.

  2. Перемещение инструмента к уровню ускоренного перемещения на ускоренной подаче.

  3. Перемещение инструмента к уровню дна отверстия на рабочей подаче.

  4. Возврат к уровню ускоренного перемещения на ускоренной подаче.

  5. Возврат к уровню отхода/возврата на ускоренной подаче.

  6. Если количество повторений не закончилось, вернуться к пункту 1.

На одном или нескольких участках таких циклов траектория движения инструмента смещена вдоль одной или нескольких осей. Примеры таких циклов, Fanuc: G76, G87; Sinumerik: CYCLE86; Heidenhain: CYCL DEF 202 и др.


Использование формирователя:

Рекомендуем создавать новый формирователь цикла сверления для каждого нового цикла в кадре управляющей программы, кроме случаев повторения работы цикла в новом кадре (аналог CYCL CALL для Heidenhain). Таким образом, интерфейс старого формирователя должен освобождаться при создании нового или завершении работы интерпретатора.

Использование интерфейса INCT_DrillingCycleFormer позволяет по заданным параметрам: первоначальное положение, уровни ускоренного перемещения, дна отверстия, количества повторов и пр. сформировать траекторию движения инструмента. А так же добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности: выстой, ориентированный останов, нарезание резьбы и прочее, изменить тип или значение подачи, либо пропустить перемещение инструмента, подготовленное формирователем.

Использование интерфейса INCT_DrillingCycleWithShiftFormer позволяет задать смещение координатам точек перемещения инструмента, на любом из этапов цикла, кроме первого. На каждом из заданных этапов перемещение инструмента из текущей точки в новую точку производится следующим образом:

  • перемещение из текущей точки в текущую точку со смещением;

  • перемещение из текущей точки со смещением в новую точку со смещением;

  • перемещение из новой точки со смещением в новую точку.

Для формирования команд движения инструмента по траектории цикла, необходимо выполнить следующие шаги:

  1. Получить интерфейсы формирователя (INCT_CLData.CreateDrillingCycleFormer, INCT_GeomCLData.CreateDrillingCycleFormer с параметром dctWithShift).

  2. Задать индексы осей X, Y, Z, по которым будут производиться перемещения (Set_AxisIndexes).

  3. Задать текущую плоскость (Set_Plane).

  4. Задать значение точки центра отверстия (Set_HoleCenter).

  5. Задать режим точки центра (Set_HoleCenterMode).

  6. Задать уровень ускоренного перемещения (Set_RapidLevel).

  7. Задать уровень дна отверстия (Set_BottomLevel).

  8. Задать уровень возврата (Set_TopLevel).

  9. Задать подачу (Set_Feedrate), единицы измерения подачи (Set_MPM).

  10. Задать количество повторений работы цикла (Set_Count).

  11. Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.

  12. Задать тип смещения точек перемещения инструмента (SetShiftByOneAxis или SetShiftBySomeAxis).

  13. Задать участки траектории движения инструмента, на которых будет действовать смещение (Set_ShiftPathSet).

  14. Сформировать команды движения инструмента по траектории цикла (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 - при перемещении к уровню ускоренного перемещения;
spMoveToBottomLevel - при перемещении к уровню дна отверстия;
spReturnToRapidLevel - при возврате к уровню ускоренного перемещения;
spReturnToTopLevel - при возврате к уровню отхода/возврата.

Выходных параметров нет.

Get_ShiftPathSet

Функция возвращает заданные этапы в траектории движения инструмента на которых формирователь цикла будет делать смещение (TNCShiftPathSet).

Get_ShiftNextHole

Функция возвращает рассчитанные для текущей итерации координаты точки текущего отверстия со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).

Get_ShiftRapidPoint

Функция возвращает рассчитанные для текущей итерации координаты точки ускоренного перемещения со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).

Get_ShiftTopPoint

Функция возвращает рассчитанные для текущей итерации координаты точки отхода/возврата со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).

Get_ShiftBottomPoint

Функция возвращает рассчитанные для текущей итерации координаты точки дна отверстия со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events).