线性移动更新

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

原文地址:https://www.cnblogs.com/liuxiaoqing1/p/12016398.html