跳转至

TCircularModeUnion

圆弧描述参数结构体

结构体说明:

typedef struct CircularModeUnion
{
    short arcMode;
    short pad[3]; //对齐
    TCircularModeUnion data;
}TCircularParameter;
arcMode:圆弧描述模式。
CIRCULAR_MODE_PLANE_CENTER_DIR(0):终点+圆心+方向模式,只能用于描述平面圆弧。此模式下,需要给定圆弧插补平面,终点位置,圆心坐标,圆弧插补方向。
CIRCULAR_MODE_PLANE_RELATIVE_CENTER_DIR(5):终点+相对圆心+方向模式,只能用于描述平面圆弧。此模式下,需要给定圆弧插补平面,终点位置,圆心坐标,圆弧插补方向。
CIRCULAR_MODE_PLANE_RADIUS_DIR(1):终点+半径+方向,只能用于描述平面圆弧。此模式下,需要给定圆弧插补平面,终点位置,圆弧半径(大于0为劣弧,小于0为优弧),圆弧插补方向。
CIRCULAR_MODE_SPACE_BORDER(2):终点+中间辅助点模式,用于描述空间圆弧。此模式下,需要给定终点位置和圆弧中间的某个辅助点坐标。
CIRCULAR_MODE_SPACE_BORDER_FOUR(6):终点+中间辅助点+起点辅助点模式,用于描述空间圆弧。此模式下,需要给定终点位置,圆弧中间的某个辅助点位置,起点位置的信息,通过这三个点描述出圆弧的信息,其中,若起点位置和圆弧运动时真正的起点位置相同时,等同于CIRCULAR_MODE_SPACE_BORDER(2)模式,若起点位置不是圆弧运动时真正的起点位置时,则起点仅用于描述圆弧,圆弧运动可以不经过起点。
CIRCULAR_MODE_PLANE_CENTER_DIR_SPIRAL(10):终点+圆心+方向涡旋模式,用于描述涡旋线。此模式下,需要给定圆弧插补平面,终点位置,圆心坐标,圆弧插补方向。起点半径和终点半径不一样形成涡旋插补。
CIRCULAR_MODE_PLANE_RELATIVE_CENTER_DIR_SPIRAL(11):终点+相对圆心+方向涡旋模式,用于描述涡旋线。此模式下,需要给定圆弧插补平面,终点位置,圆心坐标,圆弧插补方向。起点半径和终点半径不一样形成涡旋插补。
pad:保留参数,必须为0。
data:不同圆弧描述模式参数联合体。详情说明请参照TCircularModeUnion

TCircularModeUnion
typedef union TCircularModeUnion
{
    TCircularPlaneCenterDirData centerDir;
    TCircularPlaneRadiusDirData radiusDir;
    TCircularSpaceBorderData spaceBorder;
    TCircularSpaceBorderFourData spaceBorderFour;
    TCircularPlaneCenterDirSpiralData spiral;
    double data[32];
} TCircularModeUnion;
centerDir:平面圆弧圆心+方向。详情说明请参照TCircularPlaneCenterDirData
TCircularPlaneCenterDirData
typedef struct TCircularPlaneCenterDirData
{
    short endPointMode;
    short arcPlane;
    short arcPathChoice;
    short pad; //对齐
    double centralAngle;
    double centerPoint[8];
}TCircularPlaneCenterDirData;
endPointMode:终点指定模式。
CIRCULAR_END_POINT_MODE_END_POINT(0):终点由终点位置指定。
CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1):终点由圆心角指定。
arcPlane:圆弧插补平面/螺旋线插补平面。
CIRCULAR_PLANE_XY(0):XY平面圆弧。
CIRCULAR_PLANE_YZ(1):YZ平面圆弧。
CIRCULAR_PLANE_ZX(2):ZX平面圆弧。
CIRCULAR_PLANE_XY_HELIX(10):基于XY平面的螺旋线。
CIRCULAR_PLANE_YZ_HELIX(11):基于YZ平面的螺旋线。
CIRCULAR_PLANE_ZX_HELIX(12):基于ZX平面的螺旋线。
arcPathChoice:圆弧插补方向。
CIRCULAR_PATH_CHOICE_CW(0):顺时针。
CIRCULAR_PATH_CHOICE_CCW(1):逆时针。
centralAngle:圆心角,单位:度。当终点指定模式为CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1)时需要指定。
centerPoint:圆弧的圆心点位置。单位:mm。

radiusDir:平面圆弧半径+方向模式的描述参数。详情说明请参照TCircularPlaneRadiusDirData
TCircularPlaneRadiusDirData
typedef struct TCircularPlaneRadiusDirData
{
    short endPointMode;
    short arcPlane;
    short arcPathChoice;
    short pad; //对齐
    double centralAngle;
    double arcRadius;
}TCircularPlaneRadiusDirData;
endPointMode:终点指定模式。
CIRCULAR_END_POINT_MODE_END_POINT(0):终点由终点位置指定。
CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1):终点由圆心角指定。
arcPlane:圆弧插补平面/螺旋线插补平面。
CIRCULAR_PLANE_XY(0):XY平面圆弧。
CIRCULAR_PLANE_YZ(1):YZ平面圆弧。
CIRCULAR_PLANE_ZX(2):ZX平面圆弧。
CIRCULAR_PLANE_XY_HELIX(10):基于XY平面的螺旋线。
CIRCULAR_PLANE_YZ_HELIX(11):基于YZ平面的螺旋线。
CIRCULAR_PLANE_ZX_HELIX(12):基于ZX平面的螺旋线。
arcPathChoice:圆弧插补方向。
CIRCULAR_PATH_CHOICE_CW(0):顺时针。
CIRCULAR_PATH_CHOICE_CCW(1):逆时针。
pad:保留参数,必须为0。
centralAngle:圆心角,单位:度。当终点指定模式为CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1)时需要指定。
arcRadius:圆弧半径。单位:mm。

spaceBorder:三点空间圆弧模式的描述参数。详情说明请参照TCircularSpaceBorderData
TCircularSpaceBorderData
typedef struct TCircularSpaceBorderData
{
    short endPointMode;
    short pad[3]; //对齐
    double centralAngle;
    double auxPoint[8];
}TCircularSpaceBorderData;
endPointMode:终点指定模式。
CIRCULAR_END_POINT_MODE_END_POINT(0):终点由终点位置指定。
CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1):终点由圆心角指定。
pad:保留参数,必须为0。
centralAngle:圆心角,单位:度。当终点指定模式为CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1)时需要指定。
auxPoint:圆弧的辅助点位置,表示圆弧上的某个点坐标。单位:mm。

spaceBorderFour:四点空间圆弧模式的描述参数。详情说明请参照TCircularSpaceBorderFourData
TCircularSpaceBorderFourData
typedef struct CircularSpaceBorderFourData
{
    short endPointMode;
    short auxPointCommandCoord;
    short auxPointOrientationMode;
    short auxPointConfigIndex;
    short auxStartPointCommandCoord;
    short auxStartPointOrientationMode;
    short auxStartPointConfigIndex;
    short pad;
    double centralAngle;
    double auxPoint[8];
    double auxStartPoint[8];
}TCircularSpaceBorderFourData;
endPointMode:终点指定模式。
CIRCULAR_END_POINT_MODE_END_POINT(0):终点由终点位置指定。
CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1):终点由圆心角指定。
auxPointCommandCoord:中间点位置描述坐标系。
auxPointOrientationMode:中间点位置描述姿态。
auxPointConfigIndex:中间点构型解。
auxStartPointCommandCoord:辅助起点位置描述坐标系。
auxStartPointOrientationMode:辅助起点位置描述姿态。
auxStartPointConfigIndex:辅助起点构型解。
centralAngle:圆心角,单位:度。 当终点指定模式为CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1)时需要指定。
auxPoint:圆弧的辅助点位置,表示圆弧上的某个点坐标。单位:mm。
auxStartPoint:圆弧的辅助起点位置,圆弧通过辅助起点,辅助点和终点确定,包括圆弧运动的方向,若起点位置和圆弧运动时真正的起点位置相同时,等同于CIRCULAR_MODE_SPACE_BORDER模式,若起点位置不是圆弧运动时真正的起点位置时,则辅助起点仅用于描述圆弧,圆弧运动可以不经过辅助起点。单位:mm。

spiral:涡旋线的描述参数。详情说明请参照TCircularPlaneCenterDirSpiralData
TCircularPlaneCenterDirSpiralData
typedef struct CircularPlaneCenterDirSpiralData
{
    short endPointMode;
    short arcPlane;
    short arcPathChoice;
    short periodCount;
    double centralAngle;
    double centerPoint[8];
    double periodDeltaRadius;
}TCircularPlaneCenterDirSpiralData;
endPointMode:终点指定模式。
CIRCULAR_END_POINT_MODE_END_POINT(0):终点由终点位置指定。
CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1):终点由圆心角指定。
arcPlane:圆弧插补平面/螺旋线插补平面。
CIRCULAR_PLANE_XY(0):XY平面圆弧。
CIRCULAR_PLANE_YZ(1):YZ平面圆弧。
CIRCULAR_PLANE_ZX(2):ZX平面圆弧。
CIRCULAR_PLANE_XY_HELIX(10):基于XY平面的螺旋线。
CIRCULAR_PLANE_YZ_HELIX(11):基于YZ平面的螺旋线。
CIRCULAR_PLANE_ZX_HELIX(12):基于ZX平面的螺旋线。
arcPathChoice:圆弧插补方向。
CIRCULAR_PATH_CHOICE_CW(0):顺时针。
CIRCULAR_PATH_CHOICE_CCW(1):逆时针。
periodCount:圈数。范围:大于等于-1的整数。当periodCount为-1时,圈数由periodDeltaRadius决定,当圈数为0时,只运动一圈。注意:设置的圈数包含不到360度的那一圈。
centralAngle:圆心角,单位:度。当终点指定模式为CIRCULAR_END_POINT_MODE_CENTRAL_ANGLE(1)时需要指定。
centerPoint:圆弧的圆心点位置。单位:mm。 periodDeltaRadius:每转一圈半径的变化值,单位:mm,范围:大于0的值。根据起点半径和终点半径,可以自动计算出圈数。只有在periodCount为-1时生效。


相关指令:

GTN_MoveCircularAbsolute