#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 以上是在工作坐标创建块