快捷导航 上传作品

[c++] uf操作ug表达式操作

[复制链接]
梅雷工具箱发表于 2015-6-25 14:05:21 | 显示全部楼层 |阅读模式

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/
就上UG网淘宝直营店
回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 注册UG网

本版积分规则