iCAx开思工具箱
标题:
如何获知 body_tag ?
[打印本页]
作者:
jimstill
时间:
2004-9-16 19:25
标题:
如何获知 body_tag ?
我要对屏幕上一显示部件进行trim(或scale)操作时,需要获知其 body_tag,我看到的一些例子是由 UF_MODL_ask_feat_body(feat_tag, &body_tag)命令来获取的,但是当此部件不是由单个feature构成时,又如何知道它的 body_tag 呢?
请教各位!!
作者:
tari
时间:
2004-9-16 20:17
不是由单个feature的也行
作者:
刘亮
时间:
2004-9-16 20:28
UF_OBJ_cycle_objs_in_part(part_tag,type,&obj_id)
作者:
jimstill
时间:
2004-9-17 11:07
还是不行,万分苦恼,请大家看看我的函数程序:
int TRIM_ok_cb ( int dialog_id,
void * client_data,
UF_STYLER_item_value_type_p_t callback_data)
{
double plane_data[9] = {0.0,0.0,0.0, 10.0,0.0,0.0, 0.0,10.0,0.0};
tag_t plane_tag;
tag_t part;
tag_t trim_feature;
tag_t feat, body_tag;
int direction=0;
int type;
int count=0;
if ( UF_initialize() != 0)
return ( UF_UI_CB_CONTINUE_DIALOG );
/* ---- Enter your callback code here ----- */
FTN(uf5374) (&plane_data[0], &plane_data[3], &plane_data[6],
[$plane_tag)]
part=UF_PART_ask_display_part();
type=UF_feature_type;
feat=NULL_TAG;
UF_OBJ_cycle_objs_in_part(part,type,[$feat)]
while(feat!=NULL_TAG)
{
count++;
UF_OBJ_cycle_objs_in_part(part,type,[$feat)]
}
UF_MODL_ask_feat_body(feat, [$body_tag) ]
UF_MODL_trim_body(body_tag, plane_tag , direction, [$trim_feature )]
UF_terminate ();
return (UF_UI_CB_EXIT_DIALOG);
}
问题究竟出在哪里?恳请大家帮忙
作者:
tari
时间:
2004-9-17 17:00
plane_tag有值吗?
如果有值的话,你使用UF_MODL_ask_feat_object()得到object,用object去切试试看
作者:
tari
时间:
2004-9-17 17:08
请问uf5374()这个函数前面三个参数分别代表什么?
UG自带的文档我只找到这个
uf5374_
Replaced by UF_MODL_create_plane
extern void uf5374_ (
double * rp1,
double * rp2,
double * rp3,
tag_t * nr4 );
double * rp1
double * rp2
double * rp3
tag_t * nr4
--------------------------------------------------------------------------------
作者:
jimstill
时间:
2004-9-18 20:22
在 uf_modl_legacy.h 头文件有定义:
/* uf5374 create plane */
/* Replaced by UF_MODL_create_plane */
extern UFUNEXPORT void FTN(uf5374)(double *rp1, double *rp2,
double *rp3, tag_t *nr4);
谢谢大家,
这个问题我已基本解决:就是将UF_MODL_ask_feat_body(feat, &body_tag) 语句插在
while(feat!=NULL_TAG)
{
}
的大括号里即可。但奇怪的是,大多数部件会返回三、四个不同的body_tag值,其中只有一个是正确的。即出现次数最多的那一个,只有找到那个值,才能
进行trim 操作。
作者:
tari
时间:
2004-9-19 09:54
不是每个body都会和平面相交的,不相交当然不能trim
作者:
zzz
时间:
2004-9-20 22:13
估计你的body_tag根本就没有得到,找body tag的方法在以前的帖子里有,精华贴里有索引,自己找一下吧
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3