Токарный цикл резьбонарезания
INCT_LatheThreadCuttingCycleFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений токарного цикла нарезания резьбы. Объект, реализующий этот интерфейс возвращает функция 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 - радиально; Выходных параметров нет. |
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_LatheCycleEvents - интерфейс реализуемый в интерпретаторе, который позволяет управлять поведением токарного цикла. Подробно описан в статье Turning cycle threading.
INCT_LatheThreadCuttingCycleEvents - интерфейс реализуемый в интерпретаторе, который позволяет управлять нарезанием резьбы. В интерфейсе описан один метод-событие OnThread, который выполняется при выполнении нарезания резьбы внутри формирователя.
Описание методов интерфейса:
Метод |
Описание метода |
Описание использования |
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 (целое число) - номер итерации (прохода); Входной и выходной параметр: APoint (TNC2DPoint) - координаты положения инструмента на итерации. |