iCAx开思工具箱
标题:
我想做这样一件事
[打印本页]
作者:
lsmb
时间:
2006-9-20 20:23
标题:
我想做这样一件事
我在UG建模环境下,建立了生成立方体的表达式,长度length=100,宽度width=2*length,高度hight=3*length,在UISTYLER中建立了交互对话框,通过输入长度length的值,点击按钮就可以生成想创建的立方体。
在编程过程中,大概需要用到UF_MODL_ask_exps_of_part(),UF_MODL_ask_exp_tag_string()和UF_MODL_dissect_exp_string()这些函数,但是具体过程,我写了一天也没写成功。
各位高手请帮帮忙!!急切盼望高手能帮我编写一个完整的小程序!!在此非常感谢!!
作者:
lsmb
时间:
2006-9-20 21:24
或者说怎样读出表达式啊??
作者:
lsmb
时间:
2006-9-20 21:46
不好意思,好像没有说清楚,我主要想做的是怎样读出长方体的长、宽、高??
作者:
lsmb
时间:
2006-9-21 08:17
怎么没人恢复啊?!
怎样读出长方体的长、宽、高??
作者:
mizzle
时间:
2006-9-22 20:07
UF_STYLER_item_value_type_t data0,data1,data2;
data.item_attr = UF_STYLER_VALUE;
data0.item_id = "STR_0" ;
UF_STYLER_ask_value ( dialog_id , &data0 );
length= data0.value.string; // 得长方形的长度值,
同理获得weight,highth,
edge_len[3]={length,weigth,highth};
然后
UF_MODL_create_block (
UF_FEATURE_SIGN sign,
tag_t targ_tag,
double corner_pt[ 3 ],
char * edge_len[ 3 ],
tag_t * blk_tag );
作者:
lsmb
时间:
2006-9-23 08:10
感谢回复!
长方体的长是由界面相输入的,就是说只在界面输入长,以建好的立方体为模版。通过程序更新模型,建立想要的长方体。下面是我写的程序,请各位帮帮忙,看一下哪里出错了。将不胜感激!
double l=1.0,w=2.0,h=3.0;
double l;
double block_orig[3] = {0.0,0.0,0.0};
int re,i;
int number_of_exps=0;
char *string;
tag_t blk_obj;
tag_t tag_part;
tag_t *exps;
UF_STYLER_item_value_type_t data;
data.item_id=BOX_L;
data.item_attr=UF_STYLER_VALUE;
UF_STYLER_ask_value(dialog_id,&data);
l=data.value.real; //把输入的赋给l
w=2*l;
h=3*l; //这两个表达式在E:\block.part的modling环境中;
(char)w;
(char)h;
(char)l;
tag_part=UF_PART_ask_part_tag ("E:\block.part" ); //获得此文件的tag_t
UF_MODL_ask_exps_of_part(tag_part,&number_of_exps,&exps);//访问部件中表达式
for(i=0;i<number_of_exps;i++)
{UF_MODL_ask_exp_tag_string(exps
,&string); //获取文件表达式中的长,并赋值给string
UF_free(string);
}
UF_free(exps);
sprintf(string,"l=%f",l);
UF_MODL_edit_exp (string);//编辑表达式
UF_MODL_update();
作者:
chengcheng82
时间:
2006-11-28 13:31
最好说的清楚一点,哪里出的什么错,这样看的大家都头痛哦!
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3