线性移动更新
#include <uf.h>
#include <uf_object_types.h>
#include <uf_modl_primitives.h>
#include <uf_modl.h>
//创建块
tag_t Block_tag=NULL_TAG;
double O1[3]={0,0,0};
char * edge_len[3]={"20","20","30"};
UF_MODL_create_block1(UF_NULLSIGN,O1,edge_len,&Block_tag);
//创建list
uf_list_p_t move_lists;
UF_MODL_create_list(&move_lists);
//加入list
UF_MODL_put_list_item(move_lists, Block_tag);
//创建点到点移动
double move_p1[2][12];
move_p1[0][0] = 0; //起始点X坐标
move_p1[0][1] = 0; //起始点Y坐标
move_p1[0][2] = 0; //起始点Z坐标
move_p1[1][0] = 0; //移动到X坐标
move_p1[1][1] = 0; //移动到Y坐标
move_p1[1][2] = 5; //移动到Z坐标
UF_MODL_move_feature (move_lists,0,move_p1);
//删除list
UF_MODL_delete_list(&move_lists);
//更新模型
UF_MODL_update();

1 tag_t wcsTag = NULL_TAG; 2 tag_t matrix_id,blcokTag=NULL_TAG; 3 double csys_origin[3]; 4 double matrix_values[9]; 5 double ax[3], ay[3], az[3]; 6 char* blockLen[3] = { "100","80","30" }; 7 UF_CSYS_ask_wcs(&wcsTag); 8 UF_CSYS_ask_csys_info(wcsTag, &matrix_id, csys_origin); 9 UF_CSYS_ask_matrix_values(matrix_id, matrix_values); 10 UF_MTX3_x_vec(matrix_values, ax); 11 UF_MTX3_y_vec(matrix_values, ay); 12 UF_MTX3_z_vec(matrix_values, az); 13 UF_VEC3_affine_comb(csys_origin, -50,ax,csys_origin); 14 UF_VEC3_affine_comb(csys_origin, -40, ay, csys_origin); 15 UF_VEC3_affine_comb(csys_origin, -30, az, csys_origin); 16 UF_MODL_create_block1(UF_NULLSIGN, csys_origin, blockLen, &blcokTag); 17 18 以上是在工作坐标创建块

浙公网安备 33010602011771号