Extended working data: TcCncOriParameter

This function is available as of V3.01.3081.7, V3.1.3115.0 or V4.19.0.0

Parameters of the methods

Type = EcCncTrafoPosOriParameterBase

The parameters for the individual methods are transferred by the following extended structure TcCncPosOriParameter . The data structure provided by the CNC is identified by this parameter type.

struct TcCncPosOriParameter: public TcCncParam

EcCncTrafoOriParameter type

double *mcs;     // MCS values

double *ori;     // Values of the orientation matrix [9]

double *pos;     // Position value [3]

unsigned long dim_mcs;     // Dimension of MCS coordinates

unsigned long prog_axis;   // Bit mask of the programmed axes

unsigned long locked_axis; // Bit mask of the locked axes

unsigned short kin_id;     // ID of the active kinematic

MCS values

In MCS, the MCS coordinates are used to calculate the position and orientation of the kinematics in the McsToPosOri() function. The dimension of the MCS vector is derived from the dimension specified in GetDimensions().

The MCS values form the input of the McsToPosOri() function and the output of the PosOriToMcs() function.

Position value (Pos) and orientation matrix (Ori)

The position value (Pos) is a vector of dimension 3. This contains the position of the kinematics in relation to its base. The orientation matrix (Ori) consists of a vector of dimension 9, representing the 3x3 rotation matrix.

Pos and Ori form the input of the PosOriToMcs() function and the output of the McsToPosOri() function.

The bit masks prog_axis and locked_axis

For kinematics with MCS of dimension 7 (or greater), the function PosOriToMcs() is not always unique. For this reason, the actual output vector MCS with the current coordinates is also used as input in PosOriToMcs(). The MCS values can then be calculated in combination with prog_axis and locked_axis, which are a bit mask of the programmed and locked axes.