Токарный цикл обработки резанием

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

Интерфейс INCT_LatheStockRemovalCycleFormer2 расширяет возможности формирователя перемещений токарного цикла по заданному контуру. Описание новых свойств и методов представлено ниже. Объект, реализующий этот интерфейс возвращает функция CreateLatheCycleFormer (аналогично INCT_LatheStockRemovalCycleFormer).

images/download/attachments/95428018/LatheStockRemovalCycle_Bars.png

images/download/attachments/95428018/LatheStockRemovalCycle_CopyContour.png

images/download/attachments/95428018/LatheStockRemovalCycle_Finishing.png

images/download/attachments/95428018/LatheStockRemovalCycle_Params.png

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

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

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

  2. Подвод к уровню чернового прохода на ускоренной подаче.

  3. Подвод к точке чернового прохода параллельно продольной оси на рабочей подаче (черновой проход).

  4. Возврат параллельно контуру вдоль контура с учётом чистового припуска до последней точки чернового прохода на рабочей подаче (завершение чернового прохода).

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

  6. Возврат к пункту 1, если глубина обработки не достигнута.

  7. Чистовая обработка контура (подвод к стартовой точке на ускоренной подаче, чистовая обработка вдоль контура на рабочей подаче, отвод на ускоренной подаче).

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

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


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

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

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

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

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

  3. Установить параметры цикла (Set_NCProgram, Set_MachiningType, Set_MachiningDirection, Set_Overlap и пр., описание см. ниже).

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

  5. Сформировать команды движения инструмента по траектории цикла (MakeWorkpath).


Описание методов интерфейса:

Метод

Описание метода

Set_AxisIndexes

Метод устанавливает индексы продольной и поперечной осей по которым будут производиться перемещения при формировании траектории цикла.

Входные параметры: Value (TNCLCAxisIndexes) - Transverse (целое число) - индекс поперечной оси, Longitudinal (целое число) - индекс продольной оси.

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

Get_AxisIndexes

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

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

Set_Plane

Метод устанавливает текущую плоскость для управляющей программы контура, если плоскость не задана, то используется текущая плоскость на момент получения геометрии контура.

Входные параметры: Value (TNCPlaneType) - текущая плоскость для управляющей программы контура.

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

Get_Plane

Функция возвращает текущую плоскость для управляющей программы контура.

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

Set_NCProgram

Метод передаёт в формирователь интерфейс, реализующий текст контура управляющей программы.

Входной параметр: Value (INCT_Program) - интерфейс, реализующий текст контура управляющей программы.

Текст контура можно получить при помощи метода INCT_ProgramManager.GetPartByIndex, INCT_ProgramManager.GetPartByLabels.

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

Get_NCProgram

Функция возвращает интерфейс, реализующий текст контура управляющей программы (INCT_Program).

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

Set_RecalcContourGeometry

Метод задаёт признак необходимости выполнения интерпретации управляющей программы контура.

Входной параметр: Value (логический) - Ложь - не выполнять интерпретацию УП контура, если она уже выполнена, Истина - выполнить интерпретацию УП контура в любом случае.

Get_RecalcContourGeometry

Функция возвращает признак необходимости выполнения интерпретации управляющей программы контура.

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

Set_MachiningProcessing

Метод устанавливает тип обработки.

Входной параметр: Value (TNCMachiningProcessing) - тип обработки.

mpRoughing - черновая (выполняется несколько проходов с учётом заданных параметров припуска, шага и пр.);
mpFinishing - чистовая (выполняется только один проход по контуру без припуска).

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

Get_MachiningProcessing

Функция возвращает тип обработки.

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

Set_MachiningType

Метод устанавливает тип обработки.

Входной параметр: Value (TNCLatheMachiningType) - тип обработки.

mtInside - внутри;
mtOutside - снаружи.

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

Get_MachiningType

Функция возвращает тип обработки (TNCLatheMachiningType).

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

Set_MachiningDirection

Метод устанавливает значение направления обработки.

Входной параметр: Value (TNCLatheMachiningDirection) - значение направления обработки.

mdLongitudinal - продольная;
mdTransverse - поперечная.

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

Get_MachiningDirection

Функция возвращает значение направления обработки (TNCLatheMachiningDirection).

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

Set_MachiningStyle

Метод устанавливает стиль обработки контура при черновой обработке.

Входные параметры: Value (TNCLatheMachiningStyle) - стиль обработки. msBars - на каждой итерации обработка параллельно оси (продольной или поперечной в зависимости от MachiingDirection); msCopyContour - на каждой итерации обработка параллельно контуру (повтор контура).

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

Get_MachiningStyle

Функция возвращает стиль обработки контура при черновой обработке.

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

Set_Overlap

Метод устанавливает значение типа перебега.

Входной параметр: Value (логический) - значение типа перебега. Истина - с возвратом по контуру, Ложь - с прямым возвратом.

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

Get_Overlap

Функция возвращает значение типа перебега (вещественное число).

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

Set_AxialStock

Метод устанавливает значение осевого припуска на контур.

Входной параметр: Value (вещественное число) - значение осевого припуска на контур.

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

Get_AxialStock

Функция возвращает значение осевого припуска на контур (вещественное число).

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

Set_RadialStock

Метод устанавливает значение радиального припуска на контур.

Входной параметр: Value (вещественное число) - значение радиального припуска на контур.

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

Get_RadialStock

Функция возвращает значение радиального припуска на контур (вещественное число).

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

Set_ProfileStock

Метод устанавливает значение эквидистантного припуска на контур.

Входной параметр: Value (вещественное число) - значение эквидистантного припуска на контур.

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

Get_ProfileStock

Функция возвращает значение эквидистантного припуска на контур (вещественное число).

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

Set_StartPointMode

Метод устанавливает режим задания начальной точки контура.

Входные параметры: Value (TNCLatheStartPointMode) - режим задания начальной точки контура. spmCalcPoint - начальная точка рассчитывается циклом; spmSetPoint - начальная точка задаётся (см. StartPoint).

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

Get_StartPointMode

Функция возвращает режим задания начальной точки контура.

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

Set_StartPoint

Метод устанавливает начальную точку цикла (для режима StartPointMode = spmSetPoint).

Входные параметры: Value (TNC2DPoint) - начальная точка цикла.

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

Get_StartPoint

Функция возвращает начальную точку цикла.

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

Set_EachReliefcutSeparately

Метод устанавливает значение признака обработки поднутрений.

Входной параметр: Value (логическое) - Истина - каждое поднутрение обрабатывается отдельно, Ложь - все поднутрения обрабатываются за один проход.

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

Get_EachReliefcutSeparately

Функция возвращает значение признака обработки поднутрений.

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

Set_DoReliefcutsInReverseOrder

Метод устанавливает признак порядка обработки поднутрений.

Входные параметры: Value (логический) - признак порядка обработки поднутрений. Истина - обрабатывать поднутрения в обратном порядке. Ложь - обрабатывать поднутрения в прямом порядке.

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

Set_DoReliefcutsInReverseOrder

Функция возвращает признак порядка обработки поднутрений.

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

Set_StepType

Метод устанавливает тип расчёта шага черновой обработки.

Входной параметр: Value (TNCLatheStepType) - тип расчёта шага черновой обработки.

stConst - при каждом проходе глубина обработки составляет значение шага обработки (Set_Step);
stCalcEvenly - на каждом этапе (поднутрении) по значению шага обработки (Set_Step) формирователь вычисляет количество шагов, и выполняет обработку равными шагами (глубина реза / количество шагов).

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

Get_StepType

Функция возвращает тип шага черновой обработки (TNCLatheStepType).

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

Set_Step

Метод устанавливает значение шага обработки.

Входной параметр: Value (вещественное число) - значение шага обработки.

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

Get_Step

Функция возвращает значение шага обработки (вещественное число).

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

Set_SafeDist

Метод устанавливает значение отвода для возврата (значение отскока в бок перед выводом инструмента).

Входной параметр: Value (вещественное число) - значение отвода.

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

Get_SafeDist

Функция возвращает значение отвода для возврата (вещественное число).

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

Set_LengthChipBreaking

Метод устанавливает значение длины хода для ломки стружки.

Входной параметр: Value (вещественное число) - значение длины хода для ломки стружки.

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

Get_LengthChipBreaking

Функция возвращает значение длины хода для ломки стружки (вещественное число).

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

Set_Feedrate

Метод устанавливает значение рабочей подачи.

Входной параметр: Value (вещественное число) - значение рабочей подачи.

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

Get_Feedrate

Функция возвращает значение рабочей подачи.

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

Set_MPM

Метод устанавливает тип рабочей подачи.

Входной параметр: Value (логическое) - тип рабочей подачи. Истина - мм/мин, Ложь - об/мин.

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

Get_MPM

Функция возвращает тип рабочей подачи.

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

Set_UseContourFeedrate

Метод устанавливает признак использования подачи, установленной в управляющей программе задания контура.

Входные параметры: Value (логическое) - признак использования подачи. Истина - подача, установленная в контуре управляющей программы используется при обработке этих же участков контура. Ложь - подача, установленная в контуре игнорируется.

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

Get_UseContourFeedrate

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

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

Set_Events

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

Входной параметр: Value (интерфейс) - объект, реализующий интерфейсы INCT_LatheCycleEvents (подробно описан в статье Токарный цикл точения канавок), INCT_LatheCycleArcEvents (описан ниже)

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

Get_Events

Функция возвращает объект, реализующий события, связанный с формирователем цикла (INCT_LatheCycleEvents, INCT_LatheCycleArcEvents).

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

Get_SignLongitudinal

Функция возвращает знак продольной обработки (целое число). 1 - направление совпадает с продольной осью, 0 - направление не определено; -1 - направление обратное продольной оси.

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

Get_SignTransverse

Функция возвращает знак поперечной обработки (целое число). 1 - направление совпадает с поперечной осью, 0 - направление не определено; -1 - направление обратное поперечной оси.

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

MakeWorkpath

Метод формирует траекторию цикла по заданным параметрам. Процесс формирования траектории движения:

  1. Получение текущего состояния интерпретатора (метод INCT_InterpreterState.Save), если интерпретатор поддерживает интерфейс INCT_InterpreterState (описан ниже).

  2. Создание и инициализация нового экземпляра интерпретатора.

  3. Восстановление текущего состояния для нового экземпляра интерпретатора (INCT_InterpreterState.Load).

  4. Запуск нового интерпретатора по управляющей программе текста контура цикла, для формирования траектории контура.

  5. После завершения работы нового интерпретатора, происходит формирование траектории движения инструмента по заданным параметрам и полученной траектории контура.


INCT_LatheStockRemovalCycleFormer2 расширяет возможности формирователя перемещений токарного цикла по заданному контуру.

Метод

Описание метода

Set_PassReturnMethod

Метод задаёт порядок выполнения возврата к точке захода.

Входной параметр: Value (TNCPassReturnMethod) - порядок выполнения возврата к точке захода. prmStepwise - Для каждой итерации цикла возврат сначала выполняется по нормали к оси подачи, а затем по нормали к оси обработки; prmDirect - Для каждой итерации цикла возврат выполняется напрямую в точку следующего захода.

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

Get_PassReturnMethod

Функция возвращает порядок выполнения возврата к точке захода (TNCPassReturnMethod).

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

Set_CutDepthCalcMethod

Метод задаёт способ определения глубины резания.

Входной параметр: Value (TNCCutDepthCalcMethod) - способ определения глубины резания. cdcByStep - Глубина каждого реза равна или меньше (на последней итерации цикла) заданному шагу обработки; cdcByCount - Глубина каждого реза рассчитывается на основе заданного количества повторов цикла.

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

Get_CutDepthCalcMethod

Функция возвращает способ определения глубины резания (TNCCutDepthCalcMethod).

Set_Count

Метод задаёт количество повторений цикла (для способа определения глубины резания - по количеству повторов cdcByCount)

Входной параметр: Value (целое число) - количество повторений.

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

Get_Count

Функция возвращает количество повторений цикла (для способа определения глубины резания - по количеству повторов cdcByCount).

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

Set_Offset

Метод задаёт смещение точки начала обработки контура на каждом проходе.

Входной параметр: Value (вещественное число) - смещение точки начала контура.

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

Get_Offset

Функция возвращает смещение точки начала обработки контура на каждом проходе.

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

Get_ContourStartPoint

Функция возвращает координаты точки начала контура с учётом заданного в формирователе припуска (TNC2DPoint)

Get_ContourEndPoint

Функция возвращает координаты точки окончания контура с учётом заданного в формирователе припуска (TNC2DPoint)


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

Описание метода интерфейса:

Метод

Описание метода

Описание использования

OnArc

Метод будет выполнен перед каждым перемещением инструмента по дуге при формировании траектории цикла.

Входные параметры: MoveType (TNCLatheCycleMoveType) - тип перемещения, описание см. Токарный цикл точения канавок;

Входные и выходные параметры: Center (TNC2DPoint) - координаты центра дуги; Point (TNC2DPoint) - координаты конечной точки дуги; Radius (вещественное число) - радиус дуги; Feed (TNCFeedType) - тип подачи; Handled (логическое) - признак выполнения перемещения внутри реализации (Истина - перемещение выполнено, Ложь - перемещение не выполнено).

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

Если после вызова OnArc параметр Handled принимает значение Ложь, формирователь считает, что перемещение по дуге не было выполнено внутри реализации метода OnArc и добавляет в траекторию движения инструмента команду перемещения по дуге в точку Point с типом подачи Feed.

При необходимости переопределения перемещения по дуге или подачи, либо для отказа от перемещения (пропуска).

Например, если нужно изменить тип подачи на ускоренную, при возврате на начальный уровень, после точения канавки, то в реализации метода OnArc необходимо изменить значение возвращаемого методом параметра Feed на ffRapid по условию MoveType = lmReturnToTopLevel (тип подачи описан в этой статье, см. OutStandardFeed).

Если нужно выполнить перемещение инструмента в точку, отличную от рассчитанной циклом, необходимо изменить значение возвращаемого методом OnArc параметра Center, Point, Radius.

Если перемещение в рассчитанную циклом точку выполнять не нужно, тогда внутри реализации метода OnArc нужно изменить значение параметра Handled на Истина.


INCT_LatheStockRemovalCycleEvents - интерфейс, реализуемый в интерпретаторе, который позволяет управлять поведением токарного цикла обработки резанием. Интерфейс представляет из себя один метод-событие, которые выполняется после получения геометрии контура и перед расчётом траектории цикла. Используя метод интерфейса и интерфейс INCT_InterpreterState можно получить из текста управляющей программы параметры контура и передать их формирователю траектории цикла для корректного формирования (например, направление обработки, если оно задаётся командой в траектории контура).


Описание методов интерфейса:

Метод

Описание метода

Описание использования

OnCalcContourGeometry

Метод будет выполнен после получения геометрии контура и перед расчётом траектории цикла формирователем

Параметров нет.

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


INCT_LatheStockRemovalCycleEvents2 - интерфейс, реализуемый в интерпретаторе, который позволяет управлять поведением токарного цикла обработки резанием. Расширяет интерфейс INCT_LatheStockRemovalCycleEvents.

Метод

Описание метода

Описание использования

OnCalcNextStep

Метод выполняется при расчёте траектории движения инструмента для каждого прохода. Предназначен для изменения шага и смещения, используемых при расчёте следующей точки начала прохода по контуру и точки возврата после прохода по контуру для текущей итерации.

Входные параметры: Iteration (Целое число) - номер прохода, начиная с 1; PointType (TNCLSRPointType) - тип точки контура: ptProfilePoint - точка начала прохода по контуру; ptReturnPoint - точка возврата после прохода по контуру.

Входные и выходные параметры: Step (Вещественное число) - шаг для расчёта текущего прохода (Ось врезания); Offset (Вещественное число) - смещение для расчёта текущего прохода (Противоположная оси врезания ось).

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

OnCalcNextPoint

Метод выполняется при расчёте траектории движения инструмента для каждого прохода. Предназначен для изменения координат точек начала прохода по контуру и возврата после прохода по контуру, рассчитанных для текущей итерации.

Входные параметры: Iteration (Целое число) - номер прохода, начиная с 1; PointType (TNCLSRPointType) - тип точки контура: ptProfilePoint - точка начала прохода по контуру; ptReturnPoint - точка возврата после прохода по контуру.

Входные и выходные параметры: Point (TNC2DPoint) - координаты точки.

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


INCT_InterpreterState - интерфейс, реализуемый интерпретатором (тем же объектом, который реализует интерфейс INCT_Interpreter), который позволяет сохранять текущее состояние интерпретатора и загружать его во вновь созданный экземпляр интерпретатора для корректного формирования траектории контура.

Например, для формирования траектории контура необходимо знать текущую плоскость. Для этого интерпретатор должен создать объект, сохранить в этот объект текущую плоскость (метод Save), а при создании нового экземпляра интерпретатора восстановить текущую плоскость из переданного ему объекта (метод Load).

Описание методов интерфейса:

Метод

Описание метода

Описание использования

Save

Метод должен создать объект, реализующий свой собственный интерфейс, сохранить в объект данные текущего состояния, передать интерфейс на объект в выходном параметре.

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

Выходной параметр: State - интерфейс IUnknown.

Для формирования траектории контура необходимо знать текущую плоскость, заданную в тексте управляющей программы. При реализации метода Save необходимо сохранить текущую плоскость в созданный внутри метода объект. Ссылка на объект будет передана ядром SprutCAM в новый экземпляр интерпретатора, путём вызова метода Load. При реализации которого необходимо получить значение текущей плоскости из переданного объекта.

Load

Метод должен получить собственный интерфейс от переданного во входном параметре объекта, получить текущее состояние интерпретатора, необходимое для формирования траектории контура.

Входной параметр: State - интерфейс IUnknown.

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