Цикл сверления со сдвигом
INCT_DrillingCycleWithShiftFormer - интерфейс CAM системы, который реализует функциональность по упрощению формирования перемещений в циклах сверления со сдвигом. При вызове с параметром 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) - множество этапов траектории (TNCShiftPath), на которых формирователь цикла будет делать смещение. Можно выбрать несколько этапов траектории. spMoveToRapidLevel - при перемещении к уровню ускоренного перемещения; spMoveToBottomLevel - при перемещении к уровню дна отверстия; spReturnToRapidLevel - при возврате к уровню ускоренного перемещения; spReturnToTopLevel - при возврате к уровню отхода/возврата. В библиотеке типов тип называется SetOfTNCShiftPath и передаётся как байт; TNCShiftPathSet - его имя в Delphi (множество TNCShiftPath). Каждый выбранный этап устанавливает бит с номером, равным его значению TNCShiftPath (битовые маски: spMoveToRapidLevel = 1, spMoveToBottomLevel = 2, spReturnToRapidLevel = 4, spReturnToTopLevel = 8). Выходных параметров нет. |
| Get_ShiftPathSet | Функция возвращает заданные этапы в траектории движения инструмента на которых формирователь цикла будет делать смещение (TNCShiftPathSet). Входных параметров нет. |
| Get_ShiftNextHole | Функция возвращает рассчитанные для текущей итерации координаты точки текущего отверстия со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). Входных параметров нет. |
| Get_ShiftRapidPoint | Функция возвращает рассчитанные для текущей итерации координаты точки ускоренного перемещения со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). Входных параметров нет. |
| Get_ShiftTopPoint | Функция возвращает рассчитанные для текущей итерации координаты точки отхода/возврата со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). Входных параметров нет. |
| Get_ShiftBottomPoint | Функция возвращает рассчитанные для текущей итерации координаты точки дна отверстия со смещением (TNC3DPoint). Значение доступно для использования только внутри событий (Set_Events). Входных параметров нет. |