Токарный цикл обработки резанием
INCT_LatheStockRemovalCycleFormer - интерфейс SprutCAM, который реализует функциональность по упрощению формирования перемещений токарного цикла точения по заданному контуру. Объект, реализующий этот интерфейс возвращает функция INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer при её выполнении с параметром lctStockRemoval.
Интерфейс INCT_LatheStockRemovalCycleFormer2 расширяет возможности формирователя перемещений токарного цикла по заданному контуру. Описание новых свойств и методов представлено ниже. Объект, реализующий этот интерфейс возвращает функция CreateLatheCycleFormer (аналогично INCT_LatheStockRemovalCycleFormer).
Предназначение:
Выполнение перемещений в различных типах токарных циклов точения по заданному контуру, для разных стоек в общем случае повторяют одинаковую траекторию:
Подвод инструмента к стартовой точке или точке следующего захода на ускоренной подаче.
Подвод к уровню чернового прохода на ускоренной подаче.
Подвод к точке чернового прохода параллельно продольной оси на рабочей подаче (черновой проход).
Возврат параллельно контуру вдоль контура с учётом чистового припуска до последней точки чернового прохода на рабочей подаче (завершение чернового прохода).
Возврат к плоскости отвода на подаче с ускоренным перемещением.
Возврат к пункту 1, если глубина обработки не достигнута.
Чистовая обработка контура (подвод к стартовой точке на ускоренной подаче, чистовая обработка вдоль контура на рабочей подаче, отвод на ускоренной подаче).
Примеры таких циклов, Sinumerik: CYCLE95.
Использование формирователя позволяет по заданным параметрам: траектория контура, плоскость отвода, шаг обработки, тип и направление обработки и пр. сформировать траекторию движения инструмента. А так же добавить в траекторию движения на любом формируемом участке необходимые для конкретного цикла особенности, изменить тип или значение подачи, либо пропустить перемещение инструмента подготовленное формирователем.
Использование формирователя:
Рекомендуем создавать новый формирователь токарного цикла для каждого нового цикла в кадре управляющей программы, кроме случаев повторения работы цикла в новом кадре. Таким образом, интерфейс старого формирователя должен освобождаться при создании нового или завершении работы интерпретатора.
Для формирования команд движения инструмента по траектории цикла, необходимо выполнить следующие шаги:
Получить интерфейс формирователя (INCT_CLData.CreateLatheCycleFormer, INCT_GeomCLData.CreateLatheCycleFormer).
Задать индексы продольной и поперечной осей по которым будут производиться перемещения (Set_AxisIndexes).
Установить параметры цикла (Set_NCProgram, Set_MachiningType, Set_MachiningDirection, Set_Overlap и пр., описание см. ниже).
Назначить обработчик событий цикла (Set_Events), если в траекторию цикла нужно вносить изменения.
Сформировать команды движения инструмента по траектории цикла (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 - черновая (выполняется несколько проходов с учётом заданных параметров припуска, шага и пр.); Выходных параметров нет. |
Get_MachiningProcessing |
Функция возвращает тип обработки. Входных параметров нет. |
Set_MachiningType |
Метод устанавливает тип обработки. Входной параметр: Value (TNCLatheMachiningType) - тип обработки. mtInside - внутри; Выходных параметров нет. |
Get_MachiningType |
Функция возвращает тип обработки (TNCLatheMachiningType). Входных параметров нет. |
Set_MachiningDirection |
Метод устанавливает значение направления обработки. Входной параметр: Value (TNCLatheMachiningDirection) - значение направления обработки. mdLongitudinal - продольная; Выходных параметров нет. |
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); Выходных параметров нет. |
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 |
Метод формирует траекторию цикла по заданным параметрам. Процесс формирования траектории движения:
|
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. Выходных параметров нет. |