Токарный цикл резьбонарезания

INCT_LatheThreadCuttingCycleFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений токарного цикла нарезания резьбы. Объект, реализующий этот интерфейс возвращает функция INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer при её выполнении с параметром lctThreadCutting.

images/download/attachments/113361615/ThreadCuttingCycle_Outer.png

images/download/attachments/113361615/ThreadCuttingCycle_Inner.png

images/download/attachments/113361615/ThreadCuttingCycle_Params.png

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

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

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

  2. Перемещение к начальной точке резьбы на рабочей подаче.

  3. Нарезание резьбы до конечной точки на рабочей подаче.

  4. Возврат к плоскости отвода на подаче с ускоренным перемещением.

  5. Если количество заходов (черновых и чистовых) не закончилось, вернуться к пункту 1.

Примеры таких циклов, Sinumerik: CYCLE97.

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


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

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

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

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

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

  3. Установить параметры цикла (Set_ThreadOrientation, Set_ThreadDepth, Set_ThreadStep, Set_ThreadStartAngle, Set_StartPoint и пр. описание см. ниже).

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

  5. Сформировать команды движения инструмента по траектории цикла (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_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) - координаты положения инструмента на итерации.