跳转至

GTN_SetCompensate3DTable

指令原型:

GT_API GTN_SetCompensate3DTable(short core,short tableIndex,TCompensate3DTable*pTable,TCompendate3DPoint *pPointArray,long pointCount,short extend)

指令类型:

立即指令,调用后立即生效。

指令说明:

设置三维补偿表的补偿范围和补偿点的补偿值。没有设置的补偿点的补偿值默认为0。

指令参数说明:

core 核号,正整数,取值范围请参照核号参数范围一栏。
tableIndex 补偿表索引号,取值范围:[1, 3]。
pTable 三维补偿表补偿范围参数结构体指针。详情说明请参照TCompensate3DTable
TCompensate3DTable
typedef struct Compensate3DTable
{
    long count[3];          // count[0]:X轴方向补偿点数
                            // count[1]:Y轴方向补偿点数
                            // count[2]:Z轴方向补偿点数

    long pad1[5];           // 保留参数,必须为0

    double posBegin[3];     // posBegin[0]:补偿区域X轴起点
                            // posBegin[1]:补偿区域Y轴起点
                            // posBegin[2]:补偿区域Z轴起点

    double step[3];         // step[0]:补偿区域X轴方向补偿点间距
                            // step[1]:补偿区域Y轴方向补偿点间距
                            // step[2]:补偿区域Z轴方向补偿点间距

    double reserve1[4];     // 保留参数,必须为0
} TCompensate3DTable;
count:补偿表的数据点数量。
count[0]:X方向数据点数量,最小值为2。
count[1]:Y方向数据点数量,最小值为2。
count[2]:Z方向数据点数量,最小值为2。
pad1:保留参数,必须为0。
posBegin:补偿区域起始点。
posBegin[0]:X方向位置。
posBegin[1]:Y方向位置。
posBegin[2]:Z方向位置。
step:补偿区域的步长,即补偿区域内,每两个补偿点间的距离。
step[0]:X方向的间距。
step[1]:Y方向的间距。
step[2]:Z方向的间距。
reserve1:保留参数,必须为0。
pPointArray 三维补偿表的补偿点参数结构体指针。每个补偿点包含了位置和补偿值。补偿点没有顺序要求,而且可以只下载补偿空间内一部分补偿点,没有下载的补偿点补偿值为0。详情说明请参照TCompensate3DPoint
TCompensate3DPoint
typedef struct Compensate3DPoint
{
    long pointIndex[3];     // pointIndex[0]:补偿点X轴索引
                            // pointIndex[1]:补偿点Y轴索引
                            // pointIndex[2]:补偿点Z轴索引

    long pad1;              // 保留参数,必须为0
    double pointValue;      // 补偿值
} TCompensate3DPoint;
pointIndex:补偿点的索引。
pointIndex[0]:补偿点X轴索引。
pointIndex[1]:补偿点Y轴索引。
pointIndex[2]:补偿点Z轴索引。
pad1:保留参数,必须为0。
pointValue:补偿值。
pointCount 补偿点数量。
extend 是否自动扩展补偿区域。
0:不会自动扩展补偿区域,当超出补偿区域后补偿值立即清0。
1:将补偿区域自动向外扩展一个步长,扩展后的边界上的补偿值为0,当超出补偿区域时在一个步长内将补偿值渐变到0。。

指令返回值:

11504:三维补偿表已经关联到轴。
17051:pointCount参数超限。
17100:apad和reserve保留参数必须为0。
17500:tableIndex参数错误。
17501:count参数不能小于2。
17502:补偿空间太大,补偿表的count[0] * count[1] * count[2]超限。
17503:step参数必须大于0。
17504:extend参数错误, 不是0或1。
17505:pointIndex[0]参数错误,小于1或者大于补偿表的count[0]。
17506:pointIndex[1]参数错误,小于1或者大于补偿表的count[1]。
17507:pointIndex[2]参数错误,小于1或者大于补偿表的count[2]。

其他返回值请参照通用返回值说明

相关指令:

GTN_GetCompensate3DTable