Формирование траектории движения инструмента в осях станка

INCT_CLData - интерфейс SprutCAM, который реализует команды формирования траектории движения инструмента, используя оси станка.

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

Метод

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

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

SetSystemUnits

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

Входной параметр: Units (TNCSystemMeasure)

smMetrics - метрическая;
smImperial - дюймовая.

Для интерпретации команд, аналогичных G20, G21 в ISO-кодах.

SetFeedrateUnits

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

Входной параметр: Units (TNCFeedrateMeasure)

fmMMPerMinute - мм в минуту;
fmInchPerMinute - дюймы в минуту.

Для интерпретации команд, аналогичных G700, G710 для стойки Heidenhain.

GetSystemUnits

Функция возвращает единицы измерения проекта (TNCSystemMeasure)


GetFeedrateUnits

Функция возвращает текущие единицы измерения подачи (TNCFeedrateMeasure)


AddOrigin

Метод добавляет в траекторию движения команду выбора системы координат по номеру.

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

Для интерпретации команд, аналогичных G54-G57 в ISO-кодах.

AddOriginByShift

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

Входной параметр: Shift (TNC3DPoint) - величина смещения по осям (X, Y, Z).

Для интерпретации команд, аналогичных G92 в ISO-кодах.

OutStandardFeed

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

Входной параметр: Feed (TNCFeedType) - тип подачи:

ffWorking - рабочая;
ffRapid - ускоренная;
ffFirst - первого прохода;
ffEngage - подвода;
ffRetract - отхода;
ffPlunge - врезания;
ffFinish - чистового прохода;
ffNext - перехода;
ffReturn - возврата;
ffApproach - подхода.

Значение подачи для каждого типа задаётся на вкладке 'Подачи' операции в SprutCAM.

Для интерпретации команд, аналогичных G00 (Rapid) / G01 (Working) в ISO-кодах.

OutFeed

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

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

Для интерпретации команд, аналогичных F в ISO-кодах.

SetCurrentPlane

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

Входной параметр: Plane (TNCPlaneType) - тип плоскости:

ptXY - плоскость XY;
ptYZ - плоскость YZ;
ptZX - плоскость ZX.

Для интерпретации команд, аналогичных G17-G19 в ISO-кодах.

GetActiveSpindle

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


SetActiveSpindle

Метод меняет индекс активного шпинделя на заданный.

Входной параметр: Number (целое) - номер шпинделя, нумерация начинается с 0.

Для интерпретации команд, аналогичных SETMS для стойки Heidenhain.

AddSpindleSpeedOnRPM

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

Входные параметры: RPM (вещественное число) - скорость вращения шпинделя в оборотах в минуту; Range (целое) - номер диапазона вращения шпинделя, Direction (логическое) - направление вращения (Истина - по часовой стрелке CW, Ложь - против часовой стрелки CCW).

Для интерпретации команд, аналогичных S в ISO-кодах.

AddSpindleSpeedOnCSS

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

Входные параметры: CSS (вещественное число) - значение постоянной скорости резания; MaxRPM (вещественное число) - максимальная частота вращения шпинделя; Range (целое) - номер диапазона вращения шпинделя, Direction (логическое) - направление вращения (Истина - по часовой стрелке CW, Ложь - против часовой стрелки CCW).

Для интерпретации команд, аналогичных G96 для стойки Sinumerik

AddSpindleOff

Метод добавляет в траекторию движения инструмента команду выключения активного шпинделя.

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

Для интерпретации команд, аналогичных M05 в ISO-кодах.

AddSpindleOrient

Метод добавляет в траекторию движения инструмента команду ориентированного останова активного шпинделя.

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


AddStop

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

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

Для интерпретации команд, аналогичных M00 в ISO-кодах.

AddOpStop

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

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

Для интерпретации команд, аналогичных M01 в ISO-кодах.

AddCoolant

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

Входные параметры: OnOff (логический) - Истина - включение, Ложь - отключение; PipeNumber (целый) - Номер включаемого трубопровода охлаждения (1 – жидкость, 2 – туман, 3 – инструмент).

Для интерпретации команд, аналогичных M08/M09 в ISO-кодах.

AddDelay

Метод добавляет в траекторию движения инструмента команду приостановки выполнения программы на заданное время.

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

Для интерпретации команд, аналогичных G04 в ISO-кодах.


LoadTool

Метод меняет номер текущего инструмента на заданный.

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

Для интерпретации команд, аналогичных T01 в ISO-кодах.

AddLengthCompensation

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

Входные параметры: Mode (TNCLengthCompensationMode) - режим:lcOff - выключить компенсацию на длину инструмента; lcOn - включить положительную компенсацию на длину инструмента; lcOnNegative - включить отрицательную компенсацию на длину инструмента.
OffsetNumber (вещественное число) - Номер корректора на длину.

Для интерпретации команд, аналогичных G43, G44, G49, H в ISO-кодах.

AddLengthCompensationValue

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

Входные параметры: Mode, OffsetNumber (см. AddLengthCompensation); Value (вещественное число) - значение коррекции длины инструмента.

Внимание! В текущей версии функция работает аналогично AddLengthCompensation, без возможности задания значения.


AddLengthCompensationWithSpecifiedAxis

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

Входные параметры: Mode, OffsetNumber (см. AddLengthCompensation); SpecifiedAxis (целое число) - номер оси, вдоль которой производится компенсация на длину.

Внимание! В текущей версии функция работает аналогично AddLengthCompensation, без возможности выбора оси.

Для интерпретации команд, аналогичных G43 (вместе с G17-G19) в ISO-кодах.

AddRadiusCompensation

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

Входные параметры: Mode (TNCRadiusCompensationMode) - режим:

rcOff - выключить коррекцию на радиус инструмента; rcLeft - включить коррекцию на радиус инструмента слева; rcRight - включить коррекцию на радиус инструмента справа.
OffsetNumber (вещественное число) - Номер корректора на длину.

Для интерпретации команд, аналогичных G41, G42, D в ISO-кодах.

AddRadiusCompensationValue

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

Входные параметры: Mode, OffsetNumber (см. AddRadiusCompensation); Value (вещественное число) - значение коррекции радиуса инструмента.

Внимание! В текущей версии функция работает аналогично AddRadiusCompensation, без возможности задания значения.


OpenMultiMotion

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

Входной параметр: GotoMode (TNCGotoMode) - тип перемещения:

gtmTooltip - перемещение относительно текущей системы координат заготовки, интерполяция базовых осей производится с контролем прямолинейности траектории перемещения в каждой из промежуточных точек;
gtmPhysic - перемещение относительно машинных нулей (физические координаты станка), а при интерполяции базовых осей контроль промежуточных точек траектории не производится, контролируется лишь достижимость конечной точки.

Для интерпретации команд, аналогичных G00/G01 X Y Z A B C в ISO-кодах (gtmTooltip).

Для интерпретации команд, аналогичных G53 в ISO, SUPA в Sinumerik, M91 в Heidenhain (gtmPhysic).

AddMotion

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

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

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

CloseMultiMotion

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

AddCircle

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

Входные параметры: P (TNC3DPoint) - конечная точка дуги (X, Y, Z); Pc (TNC3DPoint) - координата центра дуги (X, Y, Z); R (вещественное число) - радиус дуги (радиус больше нуля, если вращение против часовой стрелки, и радиус меньше нуля, если вращение по часовой стрелке); Plane(TNCPlaneType, см. SetCurrentPlane) - плоскость дуги; CanBeFull(логическое) - может быть замкнутой.

Оси, связанные с параметрами X, Y, Z точек P, Pc определяются автоматически после выполнения команд смены инструмента (LoadTool) или установки активного шпинделя (SetActiveSpindle). Узнать индексы осей, связанных в настоящий момент с параметрами X, Y, Z можно при помощи функции GetXYZindex.

Для интерпретации команд, аналогичных G02/G03 X Y Z I J K R в ISO-кодах.

OpenTooltipMotion

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

Входной параметр: Mode (TNCTooltipMode) - тип перемещения:

tmLinear - линейное перемещение инструмента к заданной точке;
tmCircularMiddlePoint, tmCircularEndPoint - перемещение инструмента по дуге к заданной конечной точке через среднюю; tmPhysic - перемещение всеми физическими осями станка одновременно к заданной точке.

Для интерпретации линейных перемещений и перемещений по дуге.

Для линейных перемещений:

  • OpenTooltipMotion(tmLinear)

  • SetTooltipPosition

  • SetTooltipAttitude/SetTooltipAttitude2

  • SetTooltipFlip (опционально)

  • AddTooltipMotion (опционально)

  • CloseTooltipMotion

Для перемещений по дуге:

  • OpenTooltipMotion(tmCircularMiddlePoint)

  • SetTooltipPosition

  • SetTooltipAttitude/SetTooltipAttitude2

  • SetTooltipFlip (опционально)

  • AddTooltipMotion (опционально)

  • CloseTooltipMotion

  • OpenTooltipMotion(tmCircularEndPoint)

  • SetTooltipPosition

  • SetTooltipAttitude

  • SetTooltipFlip (опционально)

  • AddTooltipMotion (опционально)

  • CloseTooltipMotion

Для перемещений всеми осями:

  • OpenTooltipMotion(tmPhysic)

  • SetTooltipPosition

  • SetTooltipAttitude/SetTooltipAttitude2

  • SetTooltipFlip (опционально)

  • AddTooltipMotion (опционально)

  • CloseTooltipMotion


SetTooltipPosition

Метод задаёт позицию определённой в OpenTooltipMotion точки в Декартовой системе координат относительно нуля детали.

Входной параметр: P (TNC3DPoint) - координаты задаваемой точки.

SetTooltipAttitude

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

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

Ang1, Ang2, Ang3 (вещественное число) - Заданные значения угловых перемещения

Convention (TNCEulerAnglesConvention) - очерёдность выполнения угловых перемещений:

eacXYZ - X, Y, Z
eacXZY - X, Z, Y
eacYXZ - Y, X, Z
eacYZX - Y, Z, X
eacZXY - Z, X, Y
eacZYX - Z, Y, X
eacXYX - X, Y, X
eacXZX - X, Z, X
eacYXY - Y, X, Y
eacYZY - Y, Z, Y
eacZXZ - Z, X, Z
eacZYZ - Z, Y, Z
eacAxisAngle - вращение вокруг оси, направление которой задаётся нормированными значениями Ang1, Ang2, Ang3. Угол вращения вокруг оси равен модулю значений Ang1, Ang2, Ang3.

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

AnglesInDegrees (логическое) - Значение угловых перемещений задано в градусах. Истина - в градусах, Ложь - в радианах.

SetTooltipAttitude2

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

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

qx, qy, qz, qw (вещественное число) - Заданные значения кватернионов

SetTooltipFlip

Метод задаёт положение суставов (робота).

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

FlipType (TNCFlipType) - тип сустава

ftFlipA1 - A1

ftFlipA3 - A3

ftFlipA5 - A5

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

AddTooltipMotion

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

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

CloseTooltipMotion

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

GetAxisValue

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

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

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

WasAxisMovement

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

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

См. примечание к GetAxisValue.

AddSinglePassThread

Метод добавляет в траекторию движения инструмента команду активации режима непрерывного нарезания резьбы с постоянным шагом токарным резцом по заданным параметрам.

Входные параметры: Orient (TNCThreadOrientation) - ориентация резьбы; LeadType (TNCThreadLeadType) - способ задания шага резьбы; Step (вещественное число) - значение шага резьбы; StartAngle (вещественное число) - начальное угловое положение шпинделя в градусах (используется для многозаходной резьбы).

TNCThreadLeadType:

ltDistance - расстоянием;
ltThreadsPerUnit - количеством витков на единицу длины.

TNCThreadOrientation:

toOuter - наружная;
toInner - внутренняя;
toFace - торцевая.

Для интерпретации команд, аналогичных G33 в ISO-кодах.

CreateLinearMotionFormer

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

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

Для интерпретации команд, аналогичных G00/G01 X Y Z A B C в ISO-кодах.

CreateCircularMotionFormer

Функция возвращает интерфейс формирователя траектории перемещений по дуге (INCT_CircularMotionFormer). Использование формирователя в интерпретаторе упрощает построение траектории движения инструмента по дуге. Работа с формирователем описана в статье Перемещения по дуге.

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

Для интерпретации команд, аналогичных G02/G03 X Y Z I J K R в ISO-кодах.

CreateDrillingCycleFormer

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

Входной параметр: CycleType (TNCDrillingCycleType) - тип цикла.

dctSimple - простой цикл сверления, в этом случае возвращаемый функцией формирователь поддерживает только один интерфейс: INCT_DrillingCycleFormer.
dctWithShift - цикл сверления со сдвигом, возвращаемый функцией формирователь поддерживает два интерфейса: INCT_DrillingCycleFormer, INCT_DrillingCycleWithShiftFormer.
dctPeck - цикл сверления с ломкой стружки, возвращаемый функцией формирователь поддерживает два интерфейса: INCT_DrillingCycleFormer, INCT_PeckDrillingCycleFormer.

Для интерпретации команд, аналогичных G73, G74, G76, G80-89 для стойки Fanuc.

CreateLatheCycleFormer

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

Входной параметр: CycleType (TNCLatheCycleType) - тип цикла.

lctGrooving - токарный цикл точения канавок, в этом случае возвращаемый функцией формирователь поддерживает один интерфейс: INCT_LatheGroovingCycleFormer.
lctThreadCutting - токарный цикл резьбонарезания, в этом случае возвращаемый функцией формирователь поддерживает один интерфейс: INCT_LatheThreadCuttingCycleFormer.
lctStockRemoval - токарный цикл чернового и чистового точения контура, в этом случае возвращаемый функцией формирователь поддерживает один интерфейс: INCT_LatheStockRemovalCycleFormer.

Для интерпретации команд, аналогичных CYCLE93, CYCLE95, CYCLE97 для стойки Sinumerik.

OutPolarInterpolation

Метод включает или выключает полярную интерполяцию.

Входной параметр: Enable (логический) - признак включения полярной интерполяции. True - интерполяция включена, False - интерполяция выключена.

Для интерпретации команд, аналогичных G132/G133 токарной стойки Okuma.

OutCylindricalInterpolation

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

Входные параметры: Enable (логический) - признак включения полярной интерполяции. True - интерполяция включена, False - интерполяция выключена. Radius (вещественной число) - заданный радиус.

Для интерпретации команд, аналогичных G119 токарной стойки Okuma.

AddOriginByShiftAndRotate

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

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

Shift (TNC3DPoint) - величина смещения по осям (X, Y, Z).

Ang1, Ang2, Ang3 (вещественное число) - Заданные значения угловых перемещения

Convention (TNCEulerAnglesConvention) - очерёдность выполнения угловых перемещений. Описание см. SetTooltipAttitude.

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

AnglesInDegrees (логическое) - Значение угловых перемещений задано в градусах. Истина - в градусах, Ложь - в радианах.

Для интерпретации команд, аналогичных G68.2, G53.1 стойки Fanuc.

ResetOrigin

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