uf操作ug表达式操作
int number_of_exps=0;
tag_t *exps=NULL;
double corner_pt[3]={0,0,0}; //定位极点
char * edge_len[3]={"5","10","15"}; //大小(x,y,z)
tag_t blk_tag=NULL;
UF_MODL_create_block1(UF_NULLSIGN,corner_pt,edge_len,&blk_tag); //创建方体
UF_MODL_ask_exps_of_part(blk_tag,&number_of_exps,&exps); //获取实体模型表达式 number_of_exps表达式数量 exps表达式标识
char *string;
char *lhs_str;
char *rhs_str;
tag_t exp_tag=NULL;
char *name[3];
name[0]="j";
name[1]="w";
name[2]="h";
double exp_value;
char buffer[100];
UF_UI_open_listing_window();//打开文本
UF_UI_write_listing_window("梅雷制作"); //显示文本
int i=0;
for(i=0;i<number_of_exps;i++)
{
UF_MODL_ask_exp_tag_string(exps,&string);//利用表达式标识获得表达式字符串
//分离表达式的名称和数值
UF_MODL_dissect_exp_string(string,&lhs_str,&rhs_str,&exp_tag);
//表达式重命名
UF_MODL_rename_exp(lhs_str,name);
UF_UI_write_listing_window(lhs_str); //显示文本
UF_UI_write_listing_window("="); //显示文本
//计算表达式
UF_MODL_eval_exp(name,&exp_value);
sprintf(buffer,"%f\n",exp_value);
UF_UI_write_listing_window(buffer); //显示文本
}
char string1[200];
strcpy(string1,"h=1"); //字符串赋值
UF_MODL_edit_exp(string1);//编辑表达式
UF_MODL_update(); //更新模型
_____________________________________________________________________________ _
中磊UG二次开发教程 梅雷著 qq1821117007
学UG就上UG网 http://www.9sug.com/ |