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.