TCoordinateTransform¶
坐标系变换参数结构体
结构体说明:
typedef union CoordinateTransformUnion
{
TCoordinateTransformAcsPos acsPos;
TCartesianParameter euler;
TCoordinateTransformToolDir toolDir;
TCoordinateTransformOffset offset;
TCoordinateTransformPoints points;
TCoordinateTransformTwoVectors twoVectors;
TCoordinateTransformProjectAngle projectAngle;
double value[20];
} TCoordinateTransformUnion;
TCoordinateTransformAcsPos
typedef struct CoordinateTransformAcsPos
{
double prm[8];
double reserve[12];
}TCoordinateTransformAcsPos;
reserve:保留参数,必须为0。
euler::欧拉角描述坐标系变换。详情说明请参照TCartesianParameter
TCartesianParameter
typedef struct CartesianParameter
{
double transX;
double transY;
double transZ;
double rotAngle1;
double rotAngle2;
double rotAngle3;
}TCartesianParameter;
transY:Y轴偏移量。单位:mm。
transZ:Z轴偏移量。单位:mm。
rotAngle1:旋转角度1。单位:度。
rotAngle2:旋转角度2。单位:度。
rotAngle3:旋转角度3。单位:度。
toolDir:刀具方向描述坐标系变换。通过刀具方向描述的坐标系定义为:将MCS和刀具侧旋转轴一起旋转得到新的坐标,再在旋转后的坐标系上绕Z轴旋转alpha角度。该模式只允许在五轴模型下设置,且只能设置在COORD_SYSTEM_PCS(0)或者COORD_SYSTEM_PCS_USER_DEFINE(30)下。详情说明请参照TCoordinateTransformToolDir
TCoordinateTransformToolDir
typedef struct CoordinateTransformToolDir
{
double transX; // 相对PCS原点的X轴平移量
double transY; // 相对PCS原点的Y轴平移量
double transZ; // 相对PCS原点的Z轴平移量
double rotAngle1; // 刀具侧第一个旋转轴的旋转角
double rotAngle2; // 刀具侧第二个旋转轴的旋转角
double alpha; // 绕Z轴旋转的角度
double reserve[14];
}TCoordinateTransformToolDir;
transY:Y轴偏移量,相对PCS的坐标。单位:mm。
transZ:Z轴偏移量,相对PCS的坐标。单位:mm。
rotAngle1:第一个刀具侧旋转轴的旋转角度。单位:度。
rotAngle2:第二个刀具侧旋转轴的旋转角度。单位:度。
alpha:根据rotAngle1和rotAngle2确定的坐标系,再绕其Z轴旋转alpha度。单位:度。
reserve:保留参数,必须为0。
offset:偏移值描述坐标系变换,通过描述各个轴的零点偏移量来描述坐标系偏移。该模式只允许在五轴模型下设置,且只能设置在COORD_SYSTEM_PCS(0)下。详情说明请参照TCoordinateTransformOffset
TCoordinateTransformOffset
typedef struct CoordinateTransformOffset
{
double prm[8];
double reserve[12];
}TCoordinateTransformOffset;
reserve:保留参数,必须为0。
points:三点模式描述坐标系变换,根据平面内的三个点指定初始特征坐标系,再在初始特征坐标系上进行平移和旋转得到最终的特征坐标系。该模式只允许在五轴模型下设置,且只能设置在COORD_SYSTEM_PCS_USER_DEFINE(30)下。详情说明请参照TCoordinateTransformPoints
TCoordinateTransformPoints
typedef struct CoordinateTransformPoints
{
double point1[3];
double point2[3];
double point3[3];
double offset[3];
double gama;
double reserve[7];
}TCoordinateTransformPoints;
point2:第2点,初始特征坐标系X轴正方向上的点,坐标值为相对原始PCS的位置。单位:mm。
point3:第3点,坐标值为相对原始PCS的位置。单位:mm。
offset:最终特征坐标系的原点相对第1点的偏移量,偏移值为相对初始特征坐标系的位置。单位:mm。
gama:绕特征坐标系Z轴旋转的角度。单位:度。范围:(-360,360)。
reserve:保留参数,必须为0。
当三点中存在相同点,或者三点中的1点与其他两点相连的直线距离小于0.1mm,或者三点共线时,不允许设置坐标系。
twoVectors:,根据两个矢量指定坐标系,通过Z矢量方向和X矢量方向的矢量积得到Y轴方向,再根据XY的右手法则得到Z方向。:该模式只允许在五轴模型下设置,且只能设置在COORD_SYSTEM_PCS_USER_DEFINE(30)下。详情说明请参照TCoordinateTransformTwoVectors
TCoordinateTransformTwoVectors
typedef struct CoordinateTransformTwoVectors
{
double offset[3]; // 特征坐标系的原点相对原始PCS的位置
double vector1[3]; // 特征坐标系X轴正向的矢量方向,单位为量纲1
double vector2[3]; // 特征坐标系Z轴正向的矢量方向,单位为量纲1
double reserve[11];
}TCoordinateTransformTwoVectors;
vector1:特征坐标系X轴正向的矢量方向,单位为量纲1。
vector2:特征坐标系Z轴正向的矢量方向,单位为量纲1。
reserve:保留参数,必须为0。
当vector1或vector2不满足单位矢量的条件,或者vector1和vector2为同一方向,即夹角小于1度或者大于179度时,不允许设置坐标系。
projectAngle:投影角模式坐标系变换。该模式只允许在五轴模型下设置,且只能设置在COORD_SYSTEM_PCS_USER_DEFINE(30)下。详情说明请参照TCoordinateTransformProjectAngle
TCoordinateTransformProjectAngle
typedef struct CoordinateTransformProjectAngle
{
double offset[3];
double alpha;
double beta;
double gama;
double reserve[14];
}TCoordinateTransformProjectAngle;
alpha:X轴绕原始坐标系的Y轴旋转的角度。单位:度。范围:(-360,360)。
beta:Y轴绕原始坐标系的X轴旋转的角度。单位:度。范围:(-360,360)。
gama:绕特征坐标系Z轴旋转的角度。单位:度。范围:(-360,360)。
reserve:保留参数,必须为0。
当围绕Y轴旋转角度–alpha后的X轴与围绕X轴旋转角度beta后的Y轴所构成的角度小于1度或者大于179度,不允许设置坐标系。
reserve:保留参数,必须为0。
相关指令: