Токарный цикл резьбонарезания
INCT_LatheThreadCuttingCycleFormer - интерфейс CAM системы, который реализует функциональность по упрощению формирования перемещений токарного цикла нарезания резьбы. Объект, реализующий этот интерфейс возвращает функция INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer при её выполнении с параметром lctThreadCutting.
Предназначение:
Выполнение перемещений в различных типах токарных циклов нарезания резьбы, для разных стоек в общем случае повторяют одинаковую траекторию:
- Подвод инструмента к стартовой точке или точке следующего захода в плоскости отвода на ускоренной подаче.
- Перемещение к начальной точке резьбы на рабочей подаче.
- Нарезание резьбы до конечной точки на рабочей подаче.
- Возврат к плоскости отвода на подаче с ускоренным перемещением.
- Если количество заходов (черновых и чистовых) не закончилось, вернуться к пункту 1.
Примеры таких циклов, Sinumerik: CYCLE97.
Использование формирователя позволяет по заданным параметрам: начальная и конечная точки резьбы, плоскость отвода, количество заходов резьбы, способ врезания, угол врезания и пр. сформировать траекторию движения инструмента. А так же добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности, изменить тип или значение подачи, либо пропустить перемещение инструмента подготовленное формирователем.
Использование формирователя:
Рекомендуем создавать новый формирователь токарного цикла для каждого нового цикла в кадре управляющей программы, кроме случаев повторения работы цикла в новом кадре. Таким образом, интерфейс старого формирователя должен освобождаться при создании нового или завершении работы интерпретатора.
Для формирования команд движения инструмента по траектории цикла, необходимо выполнить следующие шаги:
- Получить интерфейс формирователя (INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer).
- Задать индексы продольной и поперечной осей по которым будут производиться перемещения (Set_AxisIndexes).
- Установить параметры цикла (Set_ThreadOrientation, Set_ThreadDepth, Set_ThreadStep, Set_ThreadStartAngle, Set_StartPoint и пр. описание см. ниже).
- Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.
- Сформировать команды движения инструмента по траектории цикла (MakeWorkpath).
Описание методов интерфейса:
| Метод | Описание метода |
|---|---|
| Set_AxisIndexes | Метод устанавливает индексы продольной и поперечной осей по которым будут производиться перемещения при формировании траектории цикла. Входные параметры: Value (TNCLCAxisIndexes) - Transverse (целое число) - индекс поперечной оси, Longitudinal (целое число) - индекс продольной оси. Выходных параметров нет. |
| Get_AxisIndexes | Функция возвращает индексы продольной и поперечной осей в которых будут производиться перемещения при формировании траектории цикла (TNCLCAxisIndexes). Входных параметров нет. |
| Set_Direction | Метод устанавливает направление цикла нарезания резьбы. Входной параметр: Value (TNCThreadCuttingDirection) - направление цикла: drLongitudinal - продольное, drTransverse - поперечное. Выходных параметров нет. |
| Get_Direction | Функция возвращает направление цикла (TNCThreadCuttingDirection). Входных параметров нет. |
| Set_ThreadOrientation | Метод устанавливает тип ориентации резьбы. Входной параметр: Value (TNCThreadOrientation см. INCT_CLData.AddSinglePassThread) - тип ориентации резьбы. Выходных параметров нет. |
| Get_ThreadOrientation | Функция возвращает тип ориентации резьбы (TNCThreadOrientation). Входных параметров нет. |
| Set_ThreadDepth | Метод устанавливает значение глубины резьбы. Входной параметр: Value (вещественное число) - значение глубины резьбы. Выходных параметров нет. |
| Get_ThreadDepth | Функция возвращает значение глубины резьбы (вещественное число). Входных параметров нет. |
| Set_ThreadStep | Метод устанавливает значение шага резьбы. Входной параметр: Value (вещественное число) - значение шага резьбы. Выходных параметров нет. |
| Get_ThreadStep | Функция возвращает значение шага резьбы (вещественное число). Входных параметров нет. |
| Set_ThreadStartAngle | Метод устанавливает значение начального угла резьбы. Входной параметр: Value (вещественное число) - значение начального угла резьбы. Выходных параметров нет. |
| Get_ThreadStartAngle | Функция возвращает значение начального угла резьбы (вещественное число). Входных параметров нет. |
| Set_ThreadStartCount | Метод устанавливает количество заходов резьбы. Входной параметр: Value (целое число) - количество заходов резьбы. Выходных параметров нет. |
| Get_ThreadStartCount | Функция возвращает количество заходов резьбы (целое число). Входных параметров нет. |
| Set_StartPoint | Метод устанавливает значения координат начальной точки резьбы. Входной параметр: Value (TNC2DPoint) - значения координат начальной точки резьбы. Выходных параметров нет. |
| Get_StartPoint | Функция возвращает значения координат начальной точки резьбы (TNC2DPoint). Входных параметров нет. |
| Set_EndPoint | Метод устанавливает значения координат конечной точки резьбы. Входной параметр: Value (TNC2DPoint) - значения координат конечной точки резьбы. Выходных параметров нет. |
| Get_EndPoint | Функция возвращает значения координат конечной точки резьбы (TNC2DPoint). Входных параметров нет. |
| Set_TaperDist | Метод устанавливает значение конусности между начальной и конечной точкой резьбы. Входной параметр: Value (вещественное число) - значение конусности между начальной и конечной точкой резьбы. Выходных параметров нет. |
| Get_TaperDist | Функция возвращает значение значение конусности между начальной и конечной точкой резьбы (вещественное число). Входных параметров нет. |
| Set_ChamferLength | Метод устанавливает длину фаски для выхода инструмента в конце резьбы. Входной параметр: Value (вещественное число) - длина фаски для выхода инструмента в конце резьбы. Выходных параметров нет. |
| Get_ChamferLength | Функция возвращает длину фаски для выхода инструмента в конце резьбы (вещественное число). Входных параметров нет. |
| Set_ChamferAngle | Метод устанавливает значение угла фаски в градусах. Входной параметр: Value (вещественное число) - значение угла фаски в градусах. Выходных параметров нет. |
| Get_ChamferAngle | Функция возвращает значение угла фаски в градусах (вещественное число). Входных параметров нет. |
| Set_RetractionPath | Метод устанавливает уровень плоскости отвода. Входной параметр: Value (вещественное число) - уровень плоскости отвода. Выходных параметров нет. |
| Get_RetractionPath | Функция возвращает заданный уровень плоскости отвода (вещественное число). Входных параметров нет. |
| Set_RunInPath | Метод устанавливает значение входного участка. Входной параметр: Value (вещественное число) - значение входного участка. Выходных параметров нет. |
| Get_RunInPath | Функция возвращает значение входного участка (вещественное число). Входных параметров нет. |
| Set_RunOutPath | Метод устанавливает значение выходного участка. Входной параметр: Value (вещественное число) - значение выходного участка. Выходных параметров нет. |
| Get_RunOutPath | Функция возвращает значение выходного участка (вещественное число). Входных параметров нет. |
| Set_ThreadAngle | Метод устанавливает значение угла профиля резьбы. Входной параметр: Value (вещественное число) - значение угла профиля резьбы. Выходных параметров нет. |
| Get_ThreadAngle | Функция возвращает значение угла профиля резьбы (вещественное число). Входных параметров нет. |
| Set_InclinationAngle | Метод устанавливает значение угла одной из стенок профиля резьбы относительно вертикали. Входной параметр: Value (вещественное число) - значение. Выходных параметров нет. |
| Get_InclinationAngle | Функция возвращает значение угла одной из стенок профиля резьбы относительно вертикали (вещественное число). Входных параметров нет. |
| Set_SequenceType | Метод устанавливает способ врезания на черновых проходах. Входной параметр: Value (TNCThreadSequenceType) - способ врезания на черновых проходах. stRadial - радиально; stFlank - гранью; stModifiedFlank - под углом; stAlternateFlank - попеременно гранями. Выходных параметров нет. |
| Get_SequenceType | Функция возвращает значение способа врезания на черновых проходах (TNCThreadSequenceType). Входных параметров нет. |
| Set_PlungeAngle | Метод устанавливает значение угла врезания для стратегии stModifiedFlank. Входной параметр: Value (вещественное число) - значение угла врезания в градусах. Выходных параметров нет. |
| Get_PlungeAngle | Функция возвращает значение угла врезания для стратегии stModifiedFlank (вещественное число). Входных параметров нет. |
| Set_DepthIsEqual | Метод устанавливает способ определения глубины резания. Входной параметр: Value (логическое) - способ определения глубины резания. Истина - постоянная глубина, Ложь - постоянная площадь резания. Выходных параметров нет. |
| Get_DepthIsEqual | Функция возвращает способ определения глубины резания (логическое). Входных параметров нет. |
| Set_IsPassCountDefined | Метод устанавливает метод определения глубины резания. Входной параметр: Value (логическое) - метод определения глубины резания. Истина - по количеству проходов, Ложь - по начальной глубине. Выходных параметров нет. |
| Get_IsPassCountDefined | Функция возвращает метод определения глубины резания (логическое). Входных параметров нет. |
| Set_MinCutDepth | Метод устанавливает значение минимально возможной глубины чернового прохода. Входной параметр: Value (вещественное число) - значение минимально возможной глубины чернового прохода. Выходных параметров нет. |
| Get_MinCutDepth | Функция возвращает значение минимально возможной глубины чернового прохода (вещественное число). Входных параметров нет. |
| Set_FirstCutDepth | Метод устанавливает значение глубины первого чернового прохода. Входной параметр: Value (вещественное число) - значение глубины первого чернового прохода. Выходных параметров нет. |
| Get_FirstCutDepth | Функция возвращает значение глубины первого чернового прохода (вещественное число). Входных параметров нет. |
| Set_RoughPassCount | Метод устанавливает количество черновых проходов. Входной параметр: Value (целое число) - количество черновых проходов. Выходных параметров нет. |
| Get_RoughPassCount | Функция возвращает количество черновых проходов (целое число). Входных параметров нет. |
| Set_FinishPassCount | Метод устанавливает количество чистовых проходов. Входной параметр: Value (целое число) - количество чистовых проходов. Выходных параметров нет. |
| Get_FinishPassCount | Функция возвращает количество чистовых проходов (целое число). Входных параметров нет. |
| Set_FinishPassDepth | Метод устанавливает значение глубины чистовых проходов. Входной параметр: Value (вещественное число) - значение глубины чистовых проходов. Выходных параметров нет. |
| Get_FinishPassDepth | Функция возвращает значение глубины чистовых проходов (вещественное число). Входных параметров нет. |
| Set_Feedrate | Метод устанавливает значение рабочей подачи. Входной параметр: Value (вещественное число) - значение рабочей подачи. Выходных параметров нет. |
| Get_Feedrate | Функция возвращает значение рабочей подачи. Входных параметров нет. |
| Set_MPM | Метод устанавливает тип рабочей подачи. Входной параметр: Value (логическое) - тип рабочей подачи. Истина - мм/мин, Ложь - мм/об. Выходных параметров нет. |
| Get_MPM | Функция возвращает тип рабочей подачи. Входных параметров нет. |
| Set_Events | Метод назначает события для управления поведением цикла. При использовании событий можно добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности: выстой, ориентированный останов и прочее, изменить тип или значение подачи, либо пропустить перемещение инструмента подготовленное формирователем. Входной параметр: Value (интерфейс) - объект, реализующий интерфейсы INCT_LatheCycleEvents, INCT_LatheThreadCuttingCycleEvents. Подробное описание ниже. Выходных параметров нет. |
| Get_Events | Функция возвращает объект, реализующий события, связанный с формирователем цикла (INCT_LatheCycleEvents, INCT_LatheThreadCuttingCycleEvents). Входных параметров нет. |
| MakeWorkpath | Метод формирует траекторию цикла по заданным параметрам. |
INCT_LatheThreadCuttingCycleFormer2 - интерфейс CAM системы, который реализует функциональность по упрощению формирования перемещений токарного цикла нарезания резьбы.
Описание методов интерфейса:
| Метод | Описание метода |
|---|---|
| Set_Approach | Метод устанавливает тип подвода. Входной параметр: Value (TNCThreadApproach) - тип подвода. taOutside - снаружи (по-умолчанию) taIndise - изнутри Выходных параметров нет. |
| Get_Approach | Функция возвращает тип подвода (TNCThreadApproach). Входных параметров нет. |
| Get_SignLongitudinal | Функция возвращает знак перемещения вдоль продольной оси (целое число). |
| Get_SignTransverse | Функция возвращает знак перемещения вдоль поперечной оси (целое число). |
INCT_LatheCycleEvents - интерфейс реализуемый в интерпретаторе, который позволяет управлять поведением токарного цикла. Подробно описан в статье Токарный цикл точения канавок.
INCT_LatheThreadCuttingCycleEvents - интерфейс реализуемый в интерпретаторе, который позволяет управлять нарезанием резьбы. В интерфейсе описан метод-событие OnThread, который выполняется при выполнении нарезания резьбы внутри формирователя, и методы-события расчёта проходов: OnCalcBaseDepth, OnCalcCount, OnCalcNextDepth, OnCalcPoint.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| OnThread | Метод будет выполнен перед каждым нарезанием резьбы при формировании траектории цикла. Реализация этого метода позволяет изменить параметры резьбы для выбранной итерации. Входные параметры: Orient (TNCThreadOrientation) - ориентация резьбы; LeadType (TNCThreadLeadType) - способ задания шага резьбы; Step (вещественное число) - значение шага резьбы; StartAngle (вещественное число) - начальное угловое положение шпинделя в градусах (используется для многозаходной резьбы). См. INCT_CLData.AddSinglePassThread. Входные и выходные параметры: Handled (логическое) - признак выполнения перемещения внутри реализации (Истина - перемещение выполнено, Ложь - перемещение не выполнено). Если после вызова OnThread параметр Handled принимает значение Истина, это значит, что нарезание резьбы было выполнено внутри реализации метода OnThread и формирователь цикла не добавляет команду нарезания резьбы в траекторию движения инструмента. Если после вызова OnThread параметр Handled принимает значение Ложь, формирователь считает, что нарезание резьбы не было выполнено внутри реализации метода OnThread и добавляет в траекторию движения инструмента команду нарезания резьбы. | При необходимости замены параметров нарезания резьбы. Либо задания алгоритма изменения резьбы на различных заходах, не реализованных в формирователе. |
| OnCalcBaseDepth | Метод будет выполнен для режима IsPassCountDefined = Истина после расчёта базовой (первой) глубины. Реализация этого метода позволяет изменить значение базовой глубины. Входной и выходной параметр: BaseDepth (вещественное число) - базовая глубина. | |
| OnCalcCount | Метод будет выполнен для режима IsPassCountDefined = Ложь после расчёта количества проходов. Реализация этого метода позволяет изменить значение количества проходов. Входной и выходной параметр: Count (целое число) - количество проходов. | |
| OnCalcNextDepth | Метод будет выполнен при расчёте очередной глубины (если количество проходов больше или равно одному). Реализация этого метода позволяет изменить значение глубины для итерации. Входной параметр: Iteration (целое число) - номер итерации (прохода); Входной и выходной параметр: Depth (вещественное число) - глубина на итерации. | |
| OnCalcPoint | Метод будет выполнен при расчёте координат положения инструмента для очередного перемещения. Реализация этого метода позволяет изменить значение координат для итерации. Входной параметр: Iteration (целое число) - номер итерации (прохода); Входной и выходной параметр: Point (TNC2DPoint) - координаты положения инструмента на итерации. |