GTN_SetCollisionCheckObjectPrm
指令原型:
GT_API GTN_SetCollisionCheckObjectPrm(short core,short objectIndex,TCollisionCheckObjectPrm *pPrm)
指令类型:
指令流指令。
指令说明:
设置碰撞检测对象的参数。
指令参数说明:
| core |
核号,正整数,取值范围请参照核号参数范围一栏。
|
| objectIndex |
碰撞检测对象的序号,正整数,取值范围[1,16]。
|
| pPrm |
脉冲当量参数结构体指针,详情说明请参照TCollisionCheckObjectPrm
TCollisionCheckObjectPrm
typedef struct CollisionCheckObjectPrm
{
short shapeType;
short reserve1[3];
TObjectShape shape;
short source;
short index[3];
short locate;
short side[3];
double offset[3];
short reserve2[4];
} TCollisionCheckObjectPrm;
shapeType:检测对象的类型。
OBJECT_TYPE_NONE(-1):没有设置。
OBJECT_TYPE_CUBOID(1):检测对象为长方体。
OBJECT_TYPE_CYLINDER(2):检测对象为圆柱体。
reserve1:保留参数,必须为0。
shape:检测对象的形状描述信息。
当参数shapeType=OBJECT_TYPE_CUBOID或者OBJECT_TYPE_CYLINDER时,详情说明请参照TObjectShape
TObjectShape
typedef union ObjectShape
{
TObjectCuboid cuboid;
TObjectCylinder cylinder;
double data[32];
} TObjectShape;
cuboid:长方体描述信息,详情说明请参照TObjectCuboid
TObjectCuboid
typedef struct ObjectCuboid
{
double axis[3][3];
double length[3];
} TObjectCuboid;
axis:长方体的3个相互垂直的边的轴向向量,向量矢量和为1。
length:长方体的3个轴向的长度。
cylinder:圆柱体描述信息,详情说明请参照TObjectCylinder
TObjectCylinder
typedef struct ObjectCylinder
{
double axis[3];
double radius;
double height;
} TObjectCylinder;
axis:圆柱体的轴向向量,向量矢量和为1。
radius:圆柱体半径。
height:圆柱体的高度。
data:保留参数,必须为0。
source:检测对象的位置参考源。
MC_GROUP_PROFILE(501):检测对象由group中的轴带动,参考坐标系为group的MCS坐标系。
MC_PROFILE(31):检测对象由规划轴带动,参考坐标系为规划轴零点。
MC_NONE(-1):检测对象固定不动,参考坐标系为其中心。
index:参考源索引,数组大小为3。
参数source=MC_GROUP_PROFILE时,index[0]为group索引,index[1~2]设置为0。
参数source=MC_PROFILE时,index[0~3]分别指示带着检测对象在XYZ方向运动的轴索引,如果所处维度没有轴运动,设置成0。
参数source=MC_NONE时,index[0~3]设置为0。
locate:当参数source=MC_GROUP_PROFILE时,需要设置检测对象所处位置类型。
OBJECT_LOCATE_FIX(0):检测对象固定不动。
OBJECT_LOCATE_TOOL(1):检测对象位于工具侧,由工具侧的轴带着运动。
OBJECT_LOCATE_WORK_PIECE(2):检测对象位于工件侧,由工件侧的轴带着运动。
side:直线轴方位,数组大小为3。
当参数source=MC_GROUP_PROFILE时,需要设置直线轴所处方位即直线轴位于工具侧还是工件侧。
offset:检测对象的零点相对参考源零点的偏移,数组大小为3,单位:mm。
当参数source=MC_GROUP_PROFILE时:
当参数locate=OBJECT_LOCATE_TOOL时,设置的偏移量为相对group的名义工具末端的坐标。
当参数locate=其他类型时,设置的偏移量为相对MCS零点的坐标。
当参数source=MC_PROFILE,i参考源零点为轴零点。
当参数source=MC_NONE时,参考源零点为本身的零点。
reserve2:保留参数,必须为0。
|
指令返回值:
请参照通用返回值说明。
相关指令:
GTN_GetCollisionCheckObjectPrm