Functions | |
| void | UTILROBOT_ClearHeldObjetTCP () |
| clear the TCP of the held objet for the PP | |
| void | UTILROBOT_ClearUserFrame () |
| clear user frame for the PP | |
| void | UTILROBOT_FromX0Y0Z0ToABBQuaternion (double RangX0, double RangY0, double RangZ0, double *RcalQ1, double *RcalQ2, double *RcalQ3, double *RcalQ4) |
| Calculate the ABB quaternion from an orientation expression. There is a risk of precision issues near zero when using quaternions; therefore, it is recommended to use Euler angles for ABB robots. | |
| void | UTILROBOT_FromX0Y0Z0ToRotationVector (double RangX0, double RangY0, double RangZ0, double *RcalX0, double *RcalY1, double *RcalZ2) |
| calculate new angles values for robot move in cartesian mode | |
| void | UTILROBOT_GetAxisInfo (const std::string &i_axisName, double *o_axisPos, int *o_axisType, int *o_succeeded) |
| get axis information on the position and the type (linear or rotary) | |
| void | UTILROBOT_GetAxisRangeLimits (const std::string &i_axisName, double *o_min, double *o_max, int *o_isLimitless, int *o_axisType) |
| get axis range limits information and the type (linear or rotary) | |
| void | UTILROBOT_GetCommandAttribute (int *CommandAttribute) |
| read the command attribute | |
| void | UTILROBOT_GetCommandName (std::string &commandName) |
| read the command name | |
| void | UTILROBOT_GetCycleType (int *CycleType) |
| read the actual cycle type, which can be : ROBOT_CYC_UNDEFINED for undefined cycle ROBOT_CYC_PROBING for probing cycle ROBOT_CYC_DRILLINGTYPE for drilling type cycles, including drilling, tapping and threading ROBOT_CYC_MACHINING for machining cycle except probing and drilling type ROBOT_CYC_MACHINECOMMAND for machine command | |
| void | UTILROBOT_GetHeldObjetTCPInX0Y0Z0 (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get held objet TCP frame with rotation in X0Y0Z0 with angles in radian | |
| void | UTILROBOT_GetHeldObjetTCPInX0Y0Z0_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get held objet TCP with rotation in X0Y0Z0 with angles in degree | |
| void | UTILROBOT_GetHeldObjetTCPInX0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get held objet TCP with rotation in X0Y1Z2 with angles in degree | |
| void | UTILROBOT_GetHeldObjetTCPInZ0Y1X2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get held objet TCP with rotation in Z0Y1X2 with angles in degree | |
| void | UTILROBOT_GetHeldObjetTCPInZ0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get held objet TCP with rotation in Z0Y1Z2 with angles in degree | |
| void | UTILROBOT_GetInterJointPosForCircular (int *isSucceed, double *J1, double *J2, double *J3, double *J4, double *J5, double *J6) |
| get the joint position in radian of the intermediate point for a circular interpolation | |
| void | UTILROBOT_GetMoveType (int *MoveType) |
| Read the move type of the point from the cycle (prefix PPI_CYC) or from the machine command (prefix PPI_COM), which can be: | |
| void | UTILROBOT_GetMoveTypeFromCycle (int *MoveType) |
| read the move type of the tool path point from cycle, which can be : -1 for undefined 0 for point 1 for line other than approach and retract 2 for circle 3 for approach line 4 for retract line | |
| void | UTILROBOT_GetOrientationModeOfCycle (int *orientationMode) |
| Retrieve the orientation interpolation mode of a machining cycle, which can be: -1: Undefined (used for machine commands or probing cycles) 0: Minimize tool orientation changes (used for machining cycles) 1: Follow the toolpath (used for machining cycles) | |
| void | UTILROBOT_GetPartMoveMatrixInX0Y0Z0 (double *X, double *Y, double *Z, double *A, double *B, double *C, int *o_ifMoved) |
| get part move matrix with rotation in X0Y0Z0 with angles in radian | |
| void | UTILROBOT_GetPartMoveMatrixInX0Y0Z0_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C, int *o_ifMoved) |
| get part move matrix with rotation in X0Y0Z0 with angles in degree | |
| void | UTILROBOT_GetPartMoveMatrixInX0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C, int *o_ifMoved) |
| get part move matrix with rotation in X0Y1Z2 with angles in degree | |
| void | UTILROBOT_GetPartMoveMatrixInZ0Y1X2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C, int *o_ifMoved) |
| get part move matrix with rotation in Z0Y1X2 with angles in degree | |
| void | UTILROBOT_GetPartMoveMatrixInZ0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C, int *o_ifMoved) |
| get part move matrix with rotation in Z0Y1Z2 with angles in degree | |
| void | UTILROBOT_GetRobotAxisRangeLimits (const int i_axisIndex, double *o_min, double *o_max, int *o_isLimitless) |
| get robot axis range limits | |
| void | UTILROBOT_GetSubCycleNumber (int *o_int) |
| get the number of sub-cycles (A cycle may have multiple sub-cycles in the presence of different planes) | |
| void | UTILROBOT_GetUserFrameInX0Y0Z0 (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get user frame with rotation in X0Y0Z0 with angles in radian | |
| void | UTILROBOT_GetUserFrameInX0Y0Z0_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get user frame with rotation in X0Y0Z0 with angles in degree | |
| void | UTILROBOT_GetUserFrameInX0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get user frame with rotation in X0Y1Z2 with angles in degree | |
| void | UTILROBOT_GetUserFrameInZ0Y1X2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get user frame with rotation in Z0Y1X2 with angles in degree | |
| void | UTILROBOT_GetUserFrameInZ0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| get user frame with rotation in Z0Y1Z2 with angles in degree | |
| void | UTILROBOT_IfAtCycleFirstPointMoveOfFirstSubCycle (int *o_bool) |
| Check if it is at the first move point of the first sub-cycle (a cycle may have multiple sub-cycles when different planes are present). Do not check for machine command. | |
| void | UTILROBOT_IfAtFirstSubCycle (int *o_bool) |
| check if is at the first sub-cycle (A cycle may have multiple sub-cycles in the presence of different planes) | |
| void | UTILROBOT_IfAtLastSubCycle (int *o_bool) |
| check if is at the last sub-cycle (A cycle may have multiple sub-cycles in the presence of different planes) | |
| void | UTILROBOT_IfExistExternalAxis (const std::string &i_axisName, int *o_succeeded) |
| check if an external axis exists | |
| void | UTILROBOT_IsCycle_PartHeld (int *o_bool) |
| Check if the cycle is in part-held mode. | |
| void | UTILROBOT_IsHeldObjetTCPChanged (int *isToolTCPChanged) |
| Check if tool TCP changed Works only on points from cycle toolpath (no check on points from machine commands). | |
| void | UTILROBOT_IsMovePointFromCommand (int *isFromCommand) |
| read if the move point is from machine command | |
| void | UTILROBOT_IsRobotAxisJ3CoupledToJ2 (int *o_isJ3Coupled, double *o_min, double *o_max) |
| Get the J3 axis range limits when coupled with J2 (as in Fanuc robots) | |
| void | UTILROBOT_IsUserFrameChanged (int *isUserFrameChanged) |
| Check if user frame changed. Works only on points from cycle toolpath (no check on points from machine commands). | |
| void | UTILROBOT_JointsToCartesian_ABB (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *Q1, double *Q2, double *Q3, double *Q4, int *Config1, int *Config2, int *Config3, int *Config4) |
| transform from joint position to cartesian position for ABB robots with quaternion. There is a risk of precision issues near zero when using quaternions; therefore, it is recommended to use Euler angles for ABB robots. | |
| void | UTILROBOT_JointsToCartesian_ABB_EulerAngles (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *Rot_Z0, double *Rot_Y1, double *Rot_X2, int *Config1, int *Config2, int *Config3, int *Config4) |
| transform from joint position to cartesian position for ABB robots with Euler angler in order ZYX | |
| void | UTILROBOT_JointsToCartesian_Elite_CS (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *Rx, double *Ry, double *Rz) |
| transform from joint position to cartesian position for Elite CS robots | |
| void | UTILROBOT_JointsToCartesian_Elite_EC (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *Rx, double *Ry, double *Rz) |
| transform from joint position to cartesian position for Elite EC robots | |
| void | UTILROBOT_JointsToCartesian_FANUC (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *W, double *P, double *R, std::string &Config) |
| transform from joint position to cartesian position for Fanuc robots | |
| void | UTILROBOT_JointsToCartesian_Kawasaki (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *W, double *P, double *R, std::string &ConfigShoulder, std::string &ConfigElbow, std::string &ConfigWrist) |
| transform from joint position to cartesian position for Kawasaki robots | |
| void | UTILROBOT_JointsToCartesian_KUKA (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *W, double *P, double *R, std::string &Status, std::string &Turn) |
| transform from joint position to cartesian position for KUKA robots | |
| void | UTILROBOT_JointsToCartesian_Staubli (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *A, double *B, double *C, std::string &Config) |
| transform from joint position to cartesian position for Staubli robots | |
| void | UTILROBOT_JointsToCartesian_UR (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *RV1, double *RV2, double *RV3) |
| transform from joint position to cartesian position with rotation vector for UR robots | |
| void | UTILROBOT_JointsToCartesian_YaskawaMotoman (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *W, double *P, double *R, std::string &Config) |
| transform from joint position to cartesian position for Yaskawa Motoman robots | |
| void | UTILROBOT_JointsToCartesianInX0Y0Z0_mm_deg (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *A, double *B, double *C) |
| transform from joint position to cartesian position with rotation in X0Y0Z0 with angles in degree | |
| void | UTILROBOT_JointsToCartesianInX0Y1Z2_mm_deg (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *A, double *B, double *C) |
| transform from joint position to cartesian position with rotation in X0Y1Z2 with angles in degree | |
| void | UTILROBOT_JointsToCartesianInZ0Y1X2_mm_deg (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *A, double *B, double *C) |
| transform from joint position to cartesian position with rotation in Z0Y1X2 with angles in degree | |
| void | UTILROBOT_JointsToCartesianInZ0Y1Z2_mm_deg (int mode, double J1, double J2, double J3, double J4, double J5, double J6, double *X, double *Y, double *Z, double *A, double *B, double *C) |
| transform from joint position to cartesian position with rotation in Z0Y1Z2 with angles in degree | |
| void | UTILROBOT_SetHeldObjetTCP (int fatherRef) |
| Set the held object TCP for ISO output in tool held mode. It is usually referenced either to the robot flange or to the tool support origin. The tool support origin may differ from the robot flange, for example when a spindle used for tool changing is mounted on the flange and considered part of the extended robot. | |
| void | UTILROBOT_SetHeldObjetTCP_PartHeld (int fatherRef) |
| Set the held object TCP for ISO output in part held mode. | |
| void | UTILROBOT_SetLinearMotionDiscretization (int i_bool) |
| Set if the linear motion path should be discretized. | |
| void | UTILROBOT_SetPartOriginOffsetFromX0Y0Z0 (double Trans_X, double Trans_Y, double Trans_Z, double Rot_X0, double Rot_Y0, double Rot_Z0) |
| set part origin offset with rotation X0Y1Z2 (first around X0, then Y0, then Z0) | |
| void | UTILROBOT_SetPartOriginOffsetFromX0Y1Z2 (double Trans_X, double Trans_Y, double Trans_Z, double Rot_X0, double Rot_Y1, double Rot_Z2) |
| set part origin offset with rotation X0Y1Z2 (first around X0, then Y1, then Z2) | |
| void | UTILROBOT_SetPartOriginOffsetFromZ0Y1X2 (double Trans_X, double Trans_Y, double Trans_Z, double Rot_Z0, double Rot_Y1, double Rot_X2) |
| set part origin offset with rotation Z0Y1X2 (first around Z0, then Y1, then X2) | |
| void | UTILROBOT_SetPartOriginOffsetFromZ0Y1Z2 (double Trans_X, double Trans_Y, double Trans_Z, double Rot_Z0, double Rot_Y1, double Rot_Z2) |
| set part origin offset with rotation Z0Y1X2 (first around Z0, then Y1, then X2) | |
| void | UTILROBOT_SetUserFrame (int targetRef, int fatherRef, int moveMode) |
| Set the user frame for ISO output in tool held mode, which is usually referenced either to the robot origin or to the machine origin. Prefer using the machine origin when performing coordinated motion with external axes. Works only on points from cycle toolpath (no effect on points from machine commands). | |
| void | UTILROBOT_SetUserFrame_PartHeld (int fatherRef) |
| Set the user frame for ISO output in part held mode. | |
| void | UTILROBOT_ToolSupportToRobotFlangeMatrixInX0Y0Z0 (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| Get the transformation matrix of the tool support origin relative to the robot flange with rotation in X0Y0Z0 with angles in radian. | |
| void | UTILROBOT_ToolSupportToRobotFlangeMatrixInX0Y0Z0_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| Get the transformation matrix of the tool support origin relative to the robot flange with rotation in X0Y0Z0 with angles in degree. | |
| void | UTILROBOT_ToolSupportToRobotFlangeMatrixInX0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| Get the transformation matrix of the tool support origin relative to the robot flange with rotation in X0Y1Z2 with angles in degree. | |
| void | UTILROBOT_ToolSupportToRobotFlangeMatrixInZ0Y1X2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| Get the transformation matrix of the tool support origin relative to the robot flange with rotation in Z0Y1X2 with angles in degree. | |
| void | UTILROBOT_ToolSupportToRobotFlangeMatrixInZ0Y1Z2_mm_deg (double *X, double *Y, double *Z, double *A, double *B, double *C) |
| Get the transformation matrix of the tool support origin relative to the robot flange with rotation in Z0Y1Z2 with angles in degree. | |
Various utilities for ROBOT
| void UTILROBOT_ClearHeldObjetTCP | ( | ) |
clear the TCP of the held objet for the PP
| void UTILROBOT_ClearUserFrame | ( | ) |
clear user frame for the PP
| void UTILROBOT_FromX0Y0Z0ToABBQuaternion | ( | double | RangX0, |
| double | RangY0, | ||
| double | RangZ0, | ||
| double * | RcalQ1, | ||
| double * | RcalQ2, | ||
| double * | RcalQ3, | ||
| double * | RcalQ4 ) |
Calculate the ABB quaternion from an orientation expression.
There is a risk of precision issues near zero when using quaternions; therefore, it is recommended to use Euler angles for ABB robots.
| [in] | RangX0 | Xvalue |
| [in] | RangY0 | Yvalue |
| [in] | RangZ0 | Zvalue |
| [out] | RcalQ1 | 1st element of the ABB quaternion |
| [out] | RcalQ2 | 2nd element of the ABB quaternion |
| [out] | RcalQ3 | 3rd element of the ABB quaternion |
| [out] | RcalQ4 | 4th element of the ABB quaternion |
| void UTILROBOT_FromX0Y0Z0ToRotationVector | ( | double | RangX0, |
| double | RangY0, | ||
| double | RangZ0, | ||
| double * | RcalX0, | ||
| double * | RcalY1, | ||
| double * | RcalZ2 ) |
calculate new angles values for robot move in cartesian mode
| [in] | RangX0 | Xvalue |
| [in] | RangY0 | Yvalue |
| [in] | RangZ0 | Zvalue |
| [out] | RcalX0 | around X |
| [out] | RcalY1 | around Y |
| [out] | RcalZ2 | around Z |
| void UTILROBOT_GetAxisInfo | ( | const std::string & | i_axisName, |
| double * | o_axisPos, | ||
| int * | o_axisType, | ||
| int * | o_succeeded ) |
get axis information on the position and the type (linear or rotary)
| [in] | i_axisName | axis name in the MCG |
| [out] | o_axisPos | axis position |
| [out] | o_axisType | axis type, 0 for rotary axis, 1 for linear axis, -1 for others |
| [out] | o_succeeded | if the operation succeeded |
| void UTILROBOT_GetAxisRangeLimits | ( | const std::string & | i_axisName, |
| double * | o_min, | ||
| double * | o_max, | ||
| int * | o_isLimitless, | ||
| int * | o_axisType ) |
get axis range limits information and the type (linear or rotary)
| [in] | i_axisName | axis name in the MCG |
| [out] | o_min | minimum axis limit |
| [out] | o_max | maximum axis limit |
| [out] | o_isLimitless | if the axis is limitless |
| [out] | o_axisType | axis type, 0 for rotary axis, 1 for linear axis, -1 for others |
| void UTILROBOT_GetCommandAttribute | ( | int * | CommandAttribute | ) |
read the command attribute
| void UTILROBOT_GetCommandName | ( | std::string & | commandName | ) |
read the command name
| void UTILROBOT_GetCycleType | ( | int * | CycleType | ) |
read the actual cycle type, which can be : ROBOT_CYC_UNDEFINED for undefined cycle ROBOT_CYC_PROBING for probing cycle ROBOT_CYC_DRILLINGTYPE for drilling type cycles, including drilling, tapping and threading ROBOT_CYC_MACHINING for machining cycle except probing and drilling type ROBOT_CYC_MACHINECOMMAND for machine command
| [out] | CycleType | cycle type |
| void UTILROBOT_GetHeldObjetTCPInX0Y0Z0 | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get held objet TCP frame with rotation in X0Y0Z0 with angles in radian
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in radian |
| [out] | B | rotation around Y0 in radian |
| [out] | C | rotation around Z0 in radian |
| void UTILROBOT_GetHeldObjetTCPInX0Y0Z0_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get held objet TCP with rotation in X0Y0Z0 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y0 in degree |
| [out] | C | rotation around Z0 in degree |
| void UTILROBOT_GetHeldObjetTCPInX0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get held objet TCP with rotation in X0Y1Z2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_GetHeldObjetTCPInZ0Y1X2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get held objet TCP with rotation in Z0Y1X2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around X2 in degree |
| void UTILROBOT_GetHeldObjetTCPInZ0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get held objet TCP with rotation in Z0Y1Z2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_GetInterJointPosForCircular | ( | int * | isSucceed, |
| double * | J1, | ||
| double * | J2, | ||
| double * | J3, | ||
| double * | J4, | ||
| double * | J5, | ||
| double * | J6 ) |
get the joint position in radian of the intermediate point for a circular interpolation
| [out] | isSucceed | if succeed |
| [out] | J1 | angular position of J1 in radian |
| [out] | J2 | angular position of J2 in radian |
| [out] | J3 | angular position of J3 in radian |
| [out] | J4 | angular position of J4 in radian |
| [out] | J5 | angular position of J5 in radian |
| [out] | J6 | angular position of J6 in radian |
| void UTILROBOT_GetMoveType | ( | int * | MoveType | ) |
Read the move type of the point from the cycle (prefix PPI_CYC) or from the machine command (prefix PPI_COM), which can be:
PPI_CYC_FIRST_JOINT_ONLY_ROBOT PPI_CYC_LATER_JOINT_ONLY_ROBOT PPI_CYC_LINEAR_ONLY_ROBOT PPI_CYC_CIRCULAR_ONLY_ROBOT PPI_CYC_FIRST_JOINT_ROBOT_EXT PPI_CYC_LATER_JOINT_ROBOT_EXT PPI_CYC_LINEAR_ROBOT_EXT PPI_CYC_CIRCULAR_ROBOT_EXT PPI_CYC_FIRST_JOINT_ONLY_EXT PPI_CYC_LATER_JOINT_ONLY_EXT PPI_CYC_LINEAR_ONLY_EXT PPI_CYC_LINEAR_ONLY_EXT_DRILLING PPI_CYC_CIRCULAR_ONLY_EXT PPI_CYC_FIRST_JOINT_ROBOT_PROBING PPI_CYC_LATER_JOINT_ROBOT_PROBING PPI_CYC_LINEAR_ROBOT_PROBING PPI_CYC_LINEAR_TOUCH_ROBOT_PROBING
PPI_COM_POSITIONING_ONLY_ROBOT PPI_COM_POSITIONING_ONLY_EXT PPI_COM_POSITIONING_ROBOT_EXT PPI_COM_JOINT_ONLY_ROBOT PPI_COM_LINEAR_ONLY_ROBOT PPI_COM_CIRCULAR_ONLY_ROBOT
| [out] | MoveType | move type |
| void UTILROBOT_GetMoveTypeFromCycle | ( | int * | MoveType | ) |
read the move type of the tool path point from cycle, which can be : -1 for undefined
0 for point
1 for line other than approach and retract
2 for circle
3 for approach line 4 for retract line
| [out] | MoveType | move type of the tool path point from cycle |
| void UTILROBOT_GetOrientationModeOfCycle | ( | int * | orientationMode | ) |
Retrieve the orientation interpolation mode of a machining cycle, which can be: -1: Undefined (used for machine commands or probing cycles) 0: Minimize tool orientation changes (used for machining cycles) 1: Follow the toolpath (used for machining cycles)
| [out] | orientationMode | orientation interpolation mode of a machining cycle |
| void UTILROBOT_GetPartMoveMatrixInX0Y0Z0 | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C, | ||
| int * | o_ifMoved ) |
get part move matrix with rotation in X0Y0Z0 with angles in radian
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in radian |
| [out] | B | rotation around Y0 in radian |
| [out] | C | rotation around Z0 in radian |
| [out] | o_ifMoved | if the part has moved |
| void UTILROBOT_GetPartMoveMatrixInX0Y0Z0_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C, | ||
| int * | o_ifMoved ) |
get part move matrix with rotation in X0Y0Z0 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y0 in degree |
| [out] | C | rotation around Z0 in degree |
| [out] | o_ifMoved | if the part has moved |
| void UTILROBOT_GetPartMoveMatrixInX0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C, | ||
| int * | o_ifMoved ) |
get part move matrix with rotation in X0Y1Z2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| [out] | o_ifMoved | if the part has moved |
| void UTILROBOT_GetPartMoveMatrixInZ0Y1X2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C, | ||
| int * | o_ifMoved ) |
get part move matrix with rotation in Z0Y1X2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around X2 in degree |
| [out] | o_ifMoved | if the part has moved |
| void UTILROBOT_GetPartMoveMatrixInZ0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C, | ||
| int * | o_ifMoved ) |
get part move matrix with rotation in Z0Y1Z2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| [out] | o_ifMoved | if the part has moved |
| void UTILROBOT_GetRobotAxisRangeLimits | ( | const int | i_axisIndex, |
| double * | o_min, | ||
| double * | o_max, | ||
| int * | o_isLimitless ) |
get robot axis range limits
| [in] | i_axisIndex | robot axis index, should be between 0 and 5 |
| [out] | o_min | minimum axis limit |
| [out] | o_max | maximum axis limit |
| [out] | o_isLimitless | if the axis is limitless |
| void UTILROBOT_GetSubCycleNumber | ( | int * | o_int | ) |
get the number of sub-cycles (A cycle may have multiple sub-cycles in the presence of different planes)
| [out] | o_int | number of sub-cycles |
| void UTILROBOT_GetUserFrameInX0Y0Z0 | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get user frame with rotation in X0Y0Z0 with angles in radian
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in radian |
| [out] | B | rotation around Y0 in radian |
| [out] | C | rotation around Z0 in radian |
| void UTILROBOT_GetUserFrameInX0Y0Z0_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get user frame with rotation in X0Y0Z0 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y0 in degree |
| [out] | C | rotation around Z0 in degree |
| void UTILROBOT_GetUserFrameInX0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get user frame with rotation in X0Y1Z2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_GetUserFrameInZ0Y1X2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get user frame with rotation in Z0Y1X2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around X2 in degree |
| void UTILROBOT_GetUserFrameInZ0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
get user frame with rotation in Z0Y1Z2 with angles in degree
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_IfAtCycleFirstPointMoveOfFirstSubCycle | ( | int * | o_bool | ) |
Check if it is at the first move point of the first sub-cycle (a cycle may have multiple sub-cycles when different planes are present).
Do not check for machine command.
| [out] | o_bool | if it is at the first move point of the first sub-cycle |
| void UTILROBOT_IfAtFirstSubCycle | ( | int * | o_bool | ) |
check if is at the first sub-cycle (A cycle may have multiple sub-cycles in the presence of different planes)
| [out] | o_bool | if is at the first sub-cycle |
| void UTILROBOT_IfAtLastSubCycle | ( | int * | o_bool | ) |
check if is at the last sub-cycle (A cycle may have multiple sub-cycles in the presence of different planes)
| [out] | o_bool | if is at the last sub-cycle |
| void UTILROBOT_IfExistExternalAxis | ( | const std::string & | i_axisName, |
| int * | o_succeeded ) |
check if an external axis exists
| [in] | i_axisName | axis name in the MCG |
| [out] | o_succeeded | if the external axis exists |
| void UTILROBOT_IsCycle_PartHeld | ( | int * | o_bool | ) |
Check if the cycle is in part-held mode.
| [out] | o_bool | if the cycle is in part-held mode |
| void UTILROBOT_IsHeldObjetTCPChanged | ( | int * | isToolTCPChanged | ) |
Check if tool TCP changed
Works only on points from cycle toolpath (no check on points from machine commands).
| [out] | isToolTCPChanged | if tool TCP changed |
| void UTILROBOT_IsMovePointFromCommand | ( | int * | isFromCommand | ) |
read if the move point is from machine command
| [out] | isFromCommand | TRUE if the move point is from command |
| void UTILROBOT_IsRobotAxisJ3CoupledToJ2 | ( | int * | o_isJ3Coupled, |
| double * | o_min, | ||
| double * | o_max ) |
Get the J3 axis range limits when coupled with J2 (as in Fanuc robots)
| [out] | o_isJ3Coupled | if J3 is coupled with J2 |
| [out] | o_min | minimum axis limit of coupled J3 |
| [out] | o_max | maximum axis limit of coupled J3 |
| void UTILROBOT_IsUserFrameChanged | ( | int * | isUserFrameChanged | ) |
Check if user frame changed.
Works only on points from cycle toolpath (no check on points from machine commands).
| [out] | isUserFrameChanged | if user frame changed |
| void UTILROBOT_JointsToCartesian_ABB | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | Q1, | ||
| double * | Q2, | ||
| double * | Q3, | ||
| double * | Q4, | ||
| int * | Config1, | ||
| int * | Config2, | ||
| int * | Config3, | ||
| int * | Config4 ) |
transform from joint position to cartesian position for ABB robots with quaternion.
There is a risk of precision issues near zero when using quaternions; therefore, it is recommended to use Euler angles for ABB robots.
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | Q1 | 1st element of the ABB quaternion |
| [out] | Q2 | 2nd element of the ABB quaternion |
| [out] | Q3 | 3rd element of the ABB quaternion |
| [out] | Q4 | 4th element of the ABB quaternion |
| [out] | Config1 | 1st element of the robot configuration |
| [out] | Config2 | 2nd element of the robot configuration |
| [out] | Config3 | 3rd element of the robot configuration |
| [out] | Config4 | 4th element of the robot configuration |
| void UTILROBOT_JointsToCartesian_ABB_EulerAngles | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | Rot_Z0, | ||
| double * | Rot_Y1, | ||
| double * | Rot_X2, | ||
| int * | Config1, | ||
| int * | Config2, | ||
| int * | Config3, | ||
| int * | Config4 ) |
transform from joint position to cartesian position for ABB robots with Euler angler in order ZYX
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | Rot_Z0 | The rotation, in degrees, around the Z0 axis. |
| [out] | Rot_Y1 | The rotation, in degrees, around the Y1 axis. |
| [out] | Rot_X2 | The rotation, in degrees, around the X2 axis. |
| [out] | Config1 | 1st element of the robot configuration |
| [out] | Config2 | 2nd element of the robot configuration |
| [out] | Config3 | 3rd element of the robot configuration |
| [out] | Config4 | 4th element of the robot configuration |
| void UTILROBOT_JointsToCartesian_Elite_CS | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | Rx, | ||
| double * | Ry, | ||
| double * | Rz ) |
transform from joint position to cartesian position for Elite CS robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X in m |
| [out] | Y | translation on Y in m |
| [out] | Z | translation on Z in m |
| [out] | Rx | rotation around X0 in radian |
| [out] | Ry | rotation around Y0 in radian |
| [out] | Rz | rotation around Z0 in radian |
| void UTILROBOT_JointsToCartesian_Elite_EC | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | Rx, | ||
| double * | Ry, | ||
| double * | Rz ) |
transform from joint position to cartesian position for Elite EC robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X in m |
| [out] | Y | translation on Y in m |
| [out] | Z | translation on Z in m |
| [out] | Rx | rotation around X0 in radian |
| [out] | Ry | rotation around Y0 in radian |
| [out] | Rz | rotation around Z0 in radian |
| void UTILROBOT_JointsToCartesian_FANUC | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | W, | ||
| double * | P, | ||
| double * | R, | ||
| std::string & | Config ) |
transform from joint position to cartesian position for Fanuc robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | W | rotation W in degree |
| [out] | P | rotation P in degree |
| [out] | R | rotation R in degree |
| [out] | Config | Robot Configuration |
| void UTILROBOT_JointsToCartesian_Kawasaki | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | W, | ||
| double * | P, | ||
| double * | R, | ||
| std::string & | ConfigShoulder, | ||
| std::string & | ConfigElbow, | ||
| std::string & | ConfigWrist ) |
transform from joint position to cartesian position for Kawasaki robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | W | rotation W in degree |
| [out] | P | rotation P in degree |
| [out] | R | rotation R in degree |
| [out] | ConfigShoulder | Robot configuration for shoulder |
| [out] | ConfigElbow | Robot configuration for elbow |
| [out] | ConfigWrist | Robot configuration for wrist |
| void UTILROBOT_JointsToCartesian_KUKA | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | W, | ||
| double * | P, | ||
| double * | R, | ||
| std::string & | Status, | ||
| std::string & | Turn ) |
transform from joint position to cartesian position for KUKA robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | W | rotation W in degree |
| [out] | P | rotation P in degree |
| [out] | R | rotation R in degree |
| [out] | Status | Robot configuration for status |
| [out] | Turn | Robot configuration for turn |
| void UTILROBOT_JointsToCartesian_Staubli | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C, | ||
| std::string & | Config ) |
transform from joint position to cartesian position for Staubli robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation Rx0 in degree |
| [out] | B | rotation Ry1 in degree |
| [out] | C | rotation Rz2 in degree |
| [out] | Config | Robot Configuration |
| void UTILROBOT_JointsToCartesian_UR | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | RV1, | ||
| double * | RV2, | ||
| double * | RV3 ) |
transform from joint position to cartesian position with rotation vector for UR robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X in m |
| [out] | Y | translation on Y in m |
| [out] | Z | translation on Z in m |
| [out] | RV1 | 1st element of the rotation vector |
| [out] | RV2 | 2nd element of the rotation vector |
| [out] | RV3 | 3rd element of the rotation vector |
| void UTILROBOT_JointsToCartesian_YaskawaMotoman | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | W, | ||
| double * | P, | ||
| double * | R, | ||
| std::string & | Config ) |
transform from joint position to cartesian position for Yaskawa Motoman robots
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | W | rotation W in degree |
| [out] | P | rotation P in degree |
| [out] | R | rotation R in degree |
| [out] | Config | Robot Configuration |
| void UTILROBOT_JointsToCartesianInX0Y0Z0_mm_deg | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
transform from joint position to cartesian position with rotation in X0Y0Z0 with angles in degree
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y0 in degree |
| [out] | C | rotation around Z0 in degree |
| void UTILROBOT_JointsToCartesianInX0Y1Z2_mm_deg | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
transform from joint position to cartesian position with rotation in X0Y1Z2 with angles in degree
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_JointsToCartesianInZ0Y1X2_mm_deg | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
transform from joint position to cartesian position with rotation in Z0Y1X2 with angles in degree
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around X2 in degree |
| void UTILROBOT_JointsToCartesianInZ0Y1Z2_mm_deg | ( | int | mode, |
| double | J1, | ||
| double | J2, | ||
| double | J3, | ||
| double | J4, | ||
| double | J5, | ||
| double | J6, | ||
| double * | X, | ||
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
transform from joint position to cartesian position with rotation in Z0Y1Z2 with angles in degree
| [in] | mode | by default 0 for transform of held-oject in user frame, 1 for inverse of the transform of held-oject in user frame (useful for part-held case) |
| [in] | J1 | Angle position of robot axis 1 in radian |
| [in] | J2 | Angle position of robot axis 2 in radian |
| [in] | J3 | Angle position of robot axis 3 in radian |
| [in] | J4 | Angle position of robot axis 4 in radian |
| [in] | J5 | Angle position of robot axis 5 in radian |
| [in] | J6 | Angle position of robot axis 6 in radian |
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_SetHeldObjetTCP | ( | int | fatherRef | ) |
Set the held object TCP for ISO output in tool held mode. It is usually referenced either to the robot flange or to the tool support origin.
The tool support origin may differ from the robot flange, for example when a spindle used for tool changing is mounted on the flange and considered part of the extended robot.
| [in] | fatherRef | Father reference: 0 for robot flange, 1 for tool support origin. |
| void UTILROBOT_SetHeldObjetTCP_PartHeld | ( | int | fatherRef | ) |
Set the held object TCP for ISO output in part held mode.
| [in] | fatherRef | Father reference: 0 for robot flange. |
| void UTILROBOT_SetLinearMotionDiscretization | ( | int | i_bool | ) |
Set if the linear motion path should be discretized.
| [in] | i_bool | CONST_YES: linear motion discretization enabled; CONST_NO: disabled. |
| void UTILROBOT_SetPartOriginOffsetFromX0Y0Z0 | ( | double | Trans_X, |
| double | Trans_Y, | ||
| double | Trans_Z, | ||
| double | Rot_X0, | ||
| double | Rot_Y0, | ||
| double | Rot_Z0 ) |
set part origin offset with rotation X0Y1Z2 (first around X0, then Y0, then Z0)
| [in] | Trans_X | Translation in X direction |
| [in] | Trans_Y | Translation in Y direction |
| [in] | Trans_Z | Translation in Z direction |
| [in] | Rot_X0 | Rotation angle in radian around X0 |
| [in] | Rot_Y0 | Rotation angle in radian around Y0 |
| [in] | Rot_Z0 | Rotation angle in radian around Z0 |
| void UTILROBOT_SetPartOriginOffsetFromX0Y1Z2 | ( | double | Trans_X, |
| double | Trans_Y, | ||
| double | Trans_Z, | ||
| double | Rot_X0, | ||
| double | Rot_Y1, | ||
| double | Rot_Z2 ) |
set part origin offset with rotation X0Y1Z2 (first around X0, then Y1, then Z2)
| [in] | Trans_X | Translation in X direction |
| [in] | Trans_Y | Translation in Y direction |
| [in] | Trans_Z | Translation in Z direction |
| [in] | Rot_X0 | Rotation angle in radian around X0 |
| [in] | Rot_Y1 | Rotation angle in radian around Y1 |
| [in] | Rot_Z2 | Rotation angle in radian around Z2 |
| void UTILROBOT_SetPartOriginOffsetFromZ0Y1X2 | ( | double | Trans_X, |
| double | Trans_Y, | ||
| double | Trans_Z, | ||
| double | Rot_Z0, | ||
| double | Rot_Y1, | ||
| double | Rot_X2 ) |
set part origin offset with rotation Z0Y1X2 (first around Z0, then Y1, then X2)
| [in] | Trans_X | Translation in X direction |
| [in] | Trans_Y | Translation in Y direction |
| [in] | Trans_Z | Translation in Z direction |
| [in] | Rot_Z0 | Rotation angle in radian around Z0 |
| [in] | Rot_Y1 | Rotation angle in radian around Y1 |
| [in] | Rot_X2 | Rotation angle in radian around X2 |
| void UTILROBOT_SetPartOriginOffsetFromZ0Y1Z2 | ( | double | Trans_X, |
| double | Trans_Y, | ||
| double | Trans_Z, | ||
| double | Rot_Z0, | ||
| double | Rot_Y1, | ||
| double | Rot_Z2 ) |
set part origin offset with rotation Z0Y1X2 (first around Z0, then Y1, then X2)
| [in] | Trans_X | Translation in X direction |
| [in] | Trans_Y | Translation in Y direction |
| [in] | Trans_Z | Translation in Z direction |
| [in] | Rot_Z0 | Rotation angle in radian around Z0 |
| [in] | Rot_Y1 | Rotation angle in radian around Y1 |
| [in] | Rot_Z2 | Rotation angle in radian around Z2 |
| void UTILROBOT_SetUserFrame | ( | int | targetRef, |
| int | fatherRef, | ||
| int | moveMode ) |
Set the user frame for ISO output in tool held mode, which is usually referenced either to the robot origin or to the machine origin.
Prefer using the machine origin when performing coordinated motion with external axes.
Works only on points from cycle toolpath (no effect on points from machine commands).
| [in] | targetRef | Target reference: 0 for part origin, 1 for work plane origin. |
| [in] | fatherRef | Father reference: 0 for robot world origin, 1 for machine origin. |
| [in] | moveMode | 0 for part origin at setup, 1 for part origin after part movement (by external axis from Machine Command or 7th-axis synchronization). |
| void UTILROBOT_SetUserFrame_PartHeld | ( | int | fatherRef | ) |
Set the user frame for ISO output in part held mode.
| [in] | fatherRef | Father reference: 0 for robot world origin, 1 for machine origin. |
| void UTILROBOT_ToolSupportToRobotFlangeMatrixInX0Y0Z0 | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
Get the transformation matrix of the tool support origin relative to the robot flange with rotation in X0Y0Z0 with angles in radian.
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in radian |
| [out] | B | rotation around Y0 in radian |
| [out] | C | rotation around Z0 in radian |
| void UTILROBOT_ToolSupportToRobotFlangeMatrixInX0Y0Z0_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
Get the transformation matrix of the tool support origin relative to the robot flange with rotation in X0Y0Z0 with angles in degree.
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y0 in degree |
| [out] | C | rotation around Z0 in degree |
| void UTILROBOT_ToolSupportToRobotFlangeMatrixInX0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
Get the transformation matrix of the tool support origin relative to the robot flange with rotation in X0Y1Z2 with angles in degree.
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around X0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |
| void UTILROBOT_ToolSupportToRobotFlangeMatrixInZ0Y1X2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
Get the transformation matrix of the tool support origin relative to the robot flange with rotation in Z0Y1X2 with angles in degree.
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around X2 in degree |
| void UTILROBOT_ToolSupportToRobotFlangeMatrixInZ0Y1Z2_mm_deg | ( | double * | X, |
| double * | Y, | ||
| double * | Z, | ||
| double * | A, | ||
| double * | B, | ||
| double * | C ) |
Get the transformation matrix of the tool support origin relative to the robot flange with rotation in Z0Y1Z2 with angles in degree.
| [out] | X | translation on X |
| [out] | Y | translation on Y |
| [out] | Z | translation on Z |
| [out] | A | rotation around Z0 in degree |
| [out] | B | rotation around Y1 in degree |
| [out] | C | rotation around Z2 in degree |