Формирование траектории движения инструмента в осях станка
INCT_CLData - интерфейс CAM системы, который реализует команды формирования траектории движения инструмента, используя оси станка.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| SetSystemUnits | Метод устанавливает единицы измерения проекта. Входной параметр: Units (TNCSystemMeasure) smMetrics - метрическая; | Для интерпретации команд, аналогичных G20, G21 в ISO-кодах. |
| SetFeedrateUnits | Метод устанавливает единицы измерения подачи. Входной параметр: Units (TNCFeedrateMeasure) fmMMPerMinute - мм в минуту; | Для интерпретации команд, аналогичных G700, G710 для стойки Sinumerik. |
| GetSystemUnits | Функция возвращает единицы измерения проекта (TNCSystemMeasure) | |
| GetFeedrateUnits | Функция возвращает текущие единицы измерения подачи (TNCFeedrateMeasure) | |
| AddOrigin | Метод добавляет в траекторию движения команду выбора системы координат по номеру. Входной параметр: WCSNumber (вещественное число) номер системы координат. | Для интерпретации команд, аналогичных G54-G57 в ISO-кодах. |
| AddOriginByShift | Метод добавляет в траекторию движения инструмента команду смещения системы координат на заданную величину. Входной параметр: Shift (TNC3DPoint) - величина смещения по осям (X, Y, Z). | Для интерпретации команд, аналогичных G92 в ISO-кодах. |
| OutStandardFeed | Метод добавляет в траекторию движения инструмента команду изменения подачи на стандартную. Входной параметр: Feed (TNCFeedType) - тип подачи: ffWorking - рабочая; Значение подачи для каждого типа задаётся на вкладке 'Подачи' операции в CAM системе. | Для интерпретации команд, аналогичных G00 (Rapid) / G01 (Working) в ISO-кодах. |
| OutFeed | Метод добавляет в траекторию движения инструмента команду изменения подачи с заданным типом и значением. Входные параметры: Feed (TNCFeedType) - тип подачи (см. OutStandardFeed), Value (вещественное число) - значение подачи, MPM(логическое) - признак единиц измерения подачи: Истина - мм в мин. Ложь - мм на оборот. | Для интерпретации команд, аналогичных F в ISO-кодах. |
| SetCurrentPlane | Метод добавляет в траекторию движения инструмента команду смены текущей плоскости на заданную. Входной параметр: Plane (TNCPlaneType) - тип плоскости: ptXY - плоскость XY; | Для интерпретации команд, аналогичных G17-G19 в ISO-кодах. |
| GetActiveSpindle | Функция возвращает номер активного шпинделя, нумерация начинается с 1. | |
| SetActiveSpindle | Метод делает активным шпиндель с заданным номером. Входной параметр: Number (целое) - номер шпинделя, нумерация начинается с 1. | Для интерпретации команд, аналогичных SETMS для стойки Sinumerik. |
| 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 - включить отрицательную компенсацию на длину инструмента. | Для интерпретации команд, аналогичных G43, G44, G49, H в ISO-кодах. |
| AddLengthCompensationValue | Метод добавляет в траекторию движения инструмента команду компенсации на длину инструмента с заданными параметрами. Входные параметры: Mode, OffsetNumber (см. AddLengthCompensation ); Value (вещественное число) - значение коррекции длины инструмента. Внимание! В текущей версии функция работает аналогично AddLengthCompensation, без возможности задания значения. | |
| AddLengthCompensationWithSpecifiedAxis | Метод добавляет в траекторию движения инструмента команду компенсации на длину инструмента с заданными параметрами. Входные параметры: Mode (см. AddLengthCompensation); SpecifiedAxis (целое число) - номер оси, вдоль которой производится компенсация на длину; OffsetNumber (см. AddLengthCompensation). Внимание! В текущей версии функция работает аналогично AddLengthCompensation, без возможности выбора оси. | Для интерпретации команд, аналогичных G43 (вместе с G17-G19) в ISO-кодах. |
| AddRadiusCompensation | Метод добавляет в траекторию движения инструмента команду коррекции на радиус инструмента с заданными параметрами. Входные параметры: Mode (TNCRadiusCompensationMode ) - режим: rcOff - выключить коррекцию на радиус инструмента; rcLeft - включить коррекцию на радиус инструмента слева; rcRight - включить коррекцию на радиус инструмента справа. | Для интерпретации команд, аналогичных G41, G42, D в ISO-кодах. |
| AddRadiusCompensationValue | Метод добавляет в траекторию движения инструмента команду коррекции на радиус инструмента с заданными параметрами. Входные параметры: Mode, OffsetNumber (см. AddRadiusCompensation ); Value, Value2 (вещественное число) - значения коррекции радиуса инструмента. Внимание! В текущей версии функция работает аналогично AddRadiusCompensation, без возможности задания значения. | |
| OpenMultiMotion | Метод определяет начало ввода многокоординатных перемещений управляемых координат станка с заданным типом. Входной параметр: GotoMode (TNCGotoMode) - тип перемещения: gtmTooltip - перемещение относительно текущей системы координат заготовки, интерполяция базовых осей производится с контролем прямолинейности траектории перемещения в каждой из промежуточных точек; | Для интерпретации команд, аналогичных 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 - линейное перемещение инструмента к заданной точке; | Для интерпретации линейных перемещений и перемещений по дуге. Для линейных перемещений:
Для перемещений по дуге:
Для перемещений всеми осями:
|
| SetTooltipPosition | Метод задаёт позицию определённой в OpenTooltipMotion точки в Декартовой системе координат относительно нуля детали. Входной параметр: P (TNC3DPoint) - координаты задаваемой точки. | |
| SetTooltipAttitude | Метод задаёт углы поворота вокруг осей X, Y, Z в Декартовой системе координат относительно нуля детали. Входные параметры: Ang1, Ang2, Ang3 (вещественное число) - заданные значения углов поворота Convention (TNCEulerAnglesConvention) - очерёдность выполнения угловых перемещений: eacXYZ - X, Y, Z 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 - расстоянием; TNCThreadOrientation: toOuter - наружная; | Для интерпретации команд, аналогичных 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 . | Для интерпретации команд, аналогичных G73, G74, G76, G80-89 для стойки Fanuc. |
| CreateLatheCycleFormer | В зависимости от заданного параметра функция возвращает интерфейс формирователя траектории одного из токарных циклов. Работа с формирователями описана в статьях Токарный цикл точения канавок, Токарный цикл резьбонарезания, Токарный цикл обработки резанием. Входной параметр: CycleType (TNCLatheCycleType) - тип цикла. lctGrooving - токарный цикл точения канавок, в этом случае возвращаемый функцией формирователь поддерживает один интерфейс: INCT_LatheGroovingCycleFormer . | Для интерпретации команд, аналогичных 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. | |
| SetRTCPMode | Метод добавляет в траекторию движения инструмента команду включения или выключения режима RTCP - пятикоординатной интерполяции с управлением центром инструмента. Входной параметр: Enable (логический) - Истина - режим включён, Ложь - режим выключен. | Для интерпретации команд, аналогичных G43.4/G49 стойки Fanuc, TRAORI/TRAFOOF стойки Sinumerik, M128/M129 стойки Heidenhain. |
INCT_AddOriginByShiftAndRotate - интерфейс CAM системы, который включает смещение и поворот системы координат с выбором решения для поворотных осей (параметр FlipMode)
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| AddOriginByShiftAndRotate | Метод включает смещение и поворот системы координат согласно заданным параметрам. Входные параметры: Shift ( TNC3DPoint ) - величина смещения по осям (X, Y, Z). Ang1, Ang2, Ang3 (вещественное число) - заданные значения углов поворота Convention (TNCEulerAnglesConvention) - очерёдность выполнения угловых перемещений. Описание см. SetTooltipAttitude. RotationsAroundMovableAxes (логическое) - с поворотом вокруг подвижных осей. Истина - с поворотом. Ложь - без поворота. AnglesInDegrees (логическое) - Значение угловых перемещений задано в градусах. Истина - в градусах, Ложь - в радианах. PositioningMode (TNCSPositioningMode) - тип позиционирования осей станка локальной СК cspmStay - локальная СК не двигает оси станка cspmTurn - локальная СК позиционирует только поворотные оси станка cspmMove - локальная СК позиционирует все оси станка так, чтобы положение кончика инструмента по отношению к детали не изменилось FlipMode (TNCAddOriginFlipMode) - решение для положения инструмента относительно заготовки, если станок позволяет обеспечить одинаковое положение несколькими способами: ofmNearest - ближайшее ofmDirect - прямое ofmAlternate - альтернативное |
Для интерпретации команд, аналогичных G68.2, G53.1 стойки Fanuc. |
INCT_CLData2 - интерфейс CAM системы, который реализует команды формирования траектории движения инструмента, используя оси станка
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| CreateMillingCycleFormer | Функция возвращает интерфейс формирователя траектории фрезерного цикла. Работа с формирователями описана в статье Цикл фрезерования резьбы. Входной параметр: CycleType (TNCMillingCycleType) - тип цикла. mctThreadMilling - фрезерования резьбы, в этом случае возвращаемый функцией формирователь поддерживает интерфейс: INCT_ThreadMillingCycleFormer. |
Для интерпретации команд, аналогичных CYCLE90 для стойки Sinumerik. |
INCT_CLData_CutTo5d - интерфейс CAM системы, который реализует команды формирования траектории движения инструмента по векторам нормали
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| CutTo5d | Используется для перемещений по векторам нормали Входные параметры: P ( TNC3DPoint ) - Координаты (X, Y, Z), Вещественные числа N ( TNC3DPoint ) - Вектора нормали от ( -1 до 1), Вещественные числа |
Для интерпретации команд, аналогичных TRAORI для стойки Sinumerik по векторам нормали A3 B3 C3. |
INCT_CLData_AutoAxesBrakes - интерфейс CAM системы, который реализует команды включения/отключения автоматического вывода тормоза осей
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| Get_AutoAxesBrakes | Получение информации о состоянии тормоза осей Выходные параметры: | Используется когда нет необходимости выводить в CLData информацию о включении или отключении тормоза осей. |
| Set_AutoAxesBrakes | Включение/отключение автоматического вывода тормоза осей Входной параметр: |
INCT_CLData_Comment - Интерфейс CAM системы, позволяющий добавлять собственные комментарии к CLData.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| AddComment | Метод добавляет строку комментария к CLData. Входной параметр: Value (строка) - текст комментария. |
Добавление пояснений к отдельным командам или группам команд. Внесение служебной информации для технологов или операторов станков. |
Интерфейсы, описанные ниже, запрашиваются у объекта INCT_CLData. Результат запроса нужно проверять: в более ранних версиях CAM системы и в отдельных режимах её работы объект может не поддерживать интерфейс.
INCT_CLData_BreakCommand - интерфейс CAM системы, который реализует команду включения/отключения тормозов осей станка.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| Open | Метод определяет начало ввода команды тормозов осей. Входных и выходных параметров нет. | Для интерпретации команд зажима и разжима осей, например M10/M11. Порядок вызова: Open, затем SetBreak для каждой оси, затем Close. Обычно используется вместе с отключением автоматического вывода тормозов осей (Set_AutoAxesBrakes интерфейса INCT_CLData_AutoAxesBrakes). |
| SetBreak | Метод задаёт состояние тормоза оси в команде. Входные параметры: AxisIndex (целое число) - индекс оси станка; Value (логическое) - Истина - тормоз включён, Ложь - тормоз выключен. | |
| Close | Метод определяет завершение ввода и добавляет в траекторию движения инструмента команду тормозов осей, заданных методом SetBreak с начала ввода командой Open. Если не задана ни одна ось, команда не добавляется. Входных и выходных параметров нет. |
INCT_CLData_Insert - интерфейс CAM системы, который позволяет добавлять в CLData команду INSERT с произвольным текстом.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| AddInsert | Метод добавляет в траекторию движения инструмента команду INSERT с заданным текстом. Входной параметр: Value (строка) - текст команды. |
Передача постпроцессору текста, который CAM система не моделирует, например вспомогательных команд станка. Как текст попадёт в управляющую программу, определяет постпроцессор. |
INCT_CLData_Print - интерфейс CAM системы, который позволяет добавлять в CLData команду PPRINT с произвольным текстом. Интерфейс поддерживают объекты INCT_CLData и INCT_GeomCLData.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| AddPrint | Метод добавляет в траекторию движения инструмента команду PPRINT с заданным текстом. Входной параметр: Value (строка) - текст команды. |
Для интерпретации команд, аналогичных PPRINT языка APT. |
INCT_CLData_Wait - интерфейс CAM системы, который реализует синхронизацию каналов многоканального станка.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| AddWait | Метод добавляет в траекторию движения инструмента точку синхронизации каналов с заданным номером. Каналы, в которых встретилась точка синхронизации с одинаковым номером, ожидают друг друга. Входной параметр: Id (целое число) - номер точки синхронизации. |
Для интерпретации команд ожидания в многоканальных программах, аналогичных WAITM стойки Sinumerik. |
INCT_CLData_LngID - интерфейс CAM системы, который возвращает язык интерфейса CAM системы.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| GetLngID | Функция возвращает код языка интерфейса CAM системы (целое число) - код языка Windows, например 1049 - русский, 1033 - английский. Входных параметров нет. |
Для вывода сообщений интерпретатора на языке интерфейса CAM системы. |
INCT_AddOriginByPhysicAxes - интерфейс CAM системы, который реализует задание системы координат по положению осей станка.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| AddOriginByPhysicAxes | Метод включает смещение и поворот системы координат, заданный положением осей станка. Оси с индексами AxisIndex1-AxisIndex3 в расчёте ставятся в значения Ang1-Ang3: ориентация новой системы координат совпадает с ориентацией инструмента в этом положении станка, а её начало смещено на Shift относительно текущей системы координат детали. Перемещение осей станка определяет параметр PositioningMode. Входные параметры: Shift (TNC3DPoint) - смещение начала системы координат по осям (X, Y, Z); AxisIndex1, AxisIndex2, AxisIndex3 (целое число) - индексы осей станка, -1 - ось не задана; Ang1, Ang2, Ang3 (вещественное число) - значения осей AxisIndex1-AxisIndex3 в тех же единицах, что значение координаты в AddMotion; PositioningMode (TNCSPositioningMode) - тип позиционирования осей станка локальной СК, описание см. INCT_AddOriginByShiftAndRotate. Если не задана ни одна ось, команда не добавляется. |
Для интерпретации команд, аналогичных PLANE AXIAL стойки Heidenhain. |
INCT_OriginSolver - интерфейс CAM системы, который позволяет заранее рассчитать положения осей станка для поворота системы координат, не меняя состояния станка и не добавляя команд в траекторию движения инструмента.
Описание методов интерфейса:
| Метод | Описание метода | Описание использования |
|---|---|---|
| CalculateOriginSolutions | Метод рассчитывает положения осей станка для системы координат, заданной смещением и поворотом. Решения рассчитываются сразу для трёх режимов TNCAddOriginFlipMode: ofmDirect - прямое, ofmAlternate - альтернативное, ofmNearest - ближайшее из возможных. Результаты возвращают функции GetOriginSolutionState и GetOriginSolutionAxisValue. Входные параметры: Shift, Ang1, Ang2, Ang3, Convention, RotationsAroundMovableAxes, AnglesInDegrees - как у метода AddOriginByShiftAndRotate. | Для интерпретации команд, аналогичных PLANE SPATIAL ... SEQ+/SEQ- стойки Heidenhain: позволяет заранее выбрать решение по знаку главной поворотной оси и проверить, достижимо ли оно, а затем передать выбранный режим в INCT_AddOriginByShiftAndRotate.AddOriginByShiftAndRotate (параметр FlipMode). |
| GetOriginSolutionState | Функция возвращает состояние решения для заданного режима (TNCOriginSolutionState): ossNotCalculated - решение не рассчитывалось; Входной параметр: FlipMode (TNCAddOriginFlipMode) - режим. | |
| GetOriginSolutionAxisValue | Функция возвращает значение оси станка в решении для заданного режима (вещественное число). Если ось в решении не участвует, возвращается 0. Входные параметры: FlipMode (TNCAddOriginFlipMode) - режим; AxisIndex (целое число) - индекс оси станка. | |
| GetFirstRotaryAxisAfterCurrentTool | Функция возвращает индекс поворотной оси, ближайшей к текущему инструменту в кинематической цепочке станка (целое число). Шпиндели не учитываются. Если такой оси нет, возвращается -1. Входных параметров нет. | |
| GetLastRotaryAxisFromCurrentWorkpiece | Функция возвращает индекс поворотной оси на стороне текущей заготовки, наиболее удалённой от неё в кинематической цепочке станка (целое число). Шпиндели не учитываются. Если такой оси нет, возвращается -1. Входных параметров нет. |