iCAx开思网

标题: UG装配开发,如何寻找指定部件中的指定object的occ? [打印本页]

作者: trudy    时间: 2006-7-31 18:09
标题: UG装配开发,如何寻找指定部件中的指定object的occ?
各位大侠:
我想实现,在指定的装配部件中根据一个面的名字(该面已经给予命名了"a")来找到这个面的occurrence tag,如何实现?
例如:
   tag_t displayPart=UF_PART_ask_display_part();
   tag_t root_part_occ=UF_ASSEM_ask_root_part_occ(displayPart);
   tag_t* child_part_occs;
   tag_t child_part_pros_1;
   int partNum=UF_ASSEM_ask_part_occ_children(root_part_occ,&child_part_occs);
   child_part_pros_1=UF_ASSEM_ask_prototype_of_occ(child_part_occs[1]);

  然后想在child_part_pros_1中找到已命名的面("a")的occurrence tag,如何实现阿??我找了挺久的,但是还是没有成功,恳请大侠们指点!!!
作者: trudy    时间: 2006-8-1 11:17
顶啊!各位高手为什么都不回答啊??郁闷ing
作者: gangnan    时间: 2006-8-2 14:04
tag_t tOcc=NULL;
UF_OBJ_cycle_by_name ("a", &tOcc);

这样就得到“a”的occ了。
作者: trudy    时间: 2006-8-2 15:02
谢谢楼上的大侠的回话!这个函数我试过,不行.UF_OBJ_cycle_by_name好像是只能cycle当前工作部件.我想cycle的是装配件中的某个component
作者: gangnan    时间: 2006-8-3 15:22
呵呵,我一直在用啊,没问题啊,就是在装配件里面的
作者: trudy    时间: 2006-8-3 17:54
啊!大侠是怎么使用的?我想调用的(用来作为总装配件的一部分)是一个已经装好了的组件(这个组件的组成部件中有相同的部件)
我添加了这个组件后,用函数UF_OBJ_cycle_by_name("a",&occ),然后输出的occ为0. 楼上的大侠能说说你是怎么使用的吗?如何在指定的部件里按名字cycle出要用来装配的object occurrence啊??  先谢谢了哦
作者: gangnan    时间: 2006-8-7 20:15
occ我就是用这个函数得到的啊。不知道tag t类型的数据你是怎么输出的。
相同的部件也可以,但是这个a是唯一的吧,那就能找到啊。
如果要装配,一个occ是不够的。
                UF_OBJ_cycle_by_name (from_part_face0, &tOccFrom_0);
                UF_ASSEM_ask_parent_component(tOccFrom_0, &tPartOccFrom_0);
                tObjProFrom_0=UF_ASSEM_ask_prototype_of_occ(tOccFrom_0);
我是需要tPartOccFrom_0和tObjProFrom_0来装配的。

[ 本帖最后由 gangnan 于 2006-8-7 20:19 编辑 ]
作者: trudy    时间: 2006-8-8 16:13
sprintf(d,"object:%d\n",object),UF_UI_write_listing_window(d);输出,下面也和你的用法一样,估计是a不唯一造成的,好像这个函数在cycle加入的组件的时候是cycle组件下面的child_occs[0]对应的那个零件的,O 不知道是不是
作者: xinix    时间: 2006-8-9 15:34
原帖由 trudy 于 2006-8-2 15:02 发表
谢谢楼上的大侠的回话!这个函数我试过,不行.UF_OBJ_cycle_by_name好像是只能cycle当前工作部件.我想cycle的是装配件中的某个component


先设这个component为 work part,再做




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3