iCAx开思工具箱

标题: UG/OPEN API编程问题,急! [打印本页]

作者: chengcheng82    时间: 2006-11-15 20:35
标题: UG/OPEN API编程问题,急!
在我的回掉函数中有这样一段代码:
tag_t root_tag;
tag_t displayed_part;
displayed_part=UF_PART_ask_display_part();
root_tag=UF_ASSEM_ask_root_part_occ(displayed_part);//获取根节occurence的tag,如果没有根节点,则返回NULL—TAG
    if(root_tag==NULL_TAG)
                return(UF_UI_CB_CONTINUE_DIALOG);

这以后的代码则是生成一个圆柱体,在不加if语句的情况下,可以在UG 环境下顺利实现建模,为何加上if语句就不响应了呢?
作者: zhjb113    时间: 2006-11-16 12:47
else的时候,最终你返回什么?
作者: chengcheng82    时间: 2006-11-20 12:26
没有else语句,就是if ,
另外发现这些代码在UG环境下,如已存一个装配,则能建立一个圆柱体,否则就不行。不知道为什么.
作者: linduyu_y    时间: 2006-11-20 14:17
问题的答案就在这里!
“如已存一个装配,则能建立一个圆柱体,否则就不行”
1.root_tag !=NULL_TAG
               。。。
2.root_tag==NULL_TAG
              UF_UI_CB_CONTINUE_DIALOG
作者: jjf1120    时间: 2006-11-26 18:58
root_tag=UF_ASSEM_ask_root_part_occ(displayed_part);
if(root_tag==NULL_TAG)
                return(UF_UI_CB_CONTINUE_DIALOG);

root_tag==NULL_TAG的时候说明零件处理零件状态;
用这样的代码通常是来判断零件处于零件状态还是处于装配状态的
作者: chengcheng82    时间: 2006-11-26 20:30
四楼的,你好,
虽然没有if (root_tag!=NULL_TAG)的情况,但如果不满足root_tag==NULL_TAG,就应该执行后面的内容啊?就是说,如果后面的代码是创建一个圆柱体,一样可以创建的出来才对啊?

另外,我很想知道UF_PART_ask_display_part()这个函数的意思,按照document上的解释,它应该能返回一个当前显示的物件的tag,但设一个UIstyler的控件的回调函数中有如下程序:
         tag_t aaa;
         aaa=UF_PART_ask_display_part();//获得当前显示的零件的ID 如果没有显示部件,则返回NULL_TAG
                      UF_DISP_set_highlight(aaa,1);//把aaa高亮显示.
结果在UG环境,在已经创建一个模型(如正方体)的情况下,点击空间,该模型并不高亮显示.请问是什么原因呢?
另外,如果有很多的模型在视图中, UF_PART_ask_display_part()到底返回的是谁的tag?在一个装配中,又是什么情况呢?

这问题困扰我 好久了,快受不了了,恳请大家赐教!多谢!
作者: cftlin    时间: 2006-11-27 10:13
函数原型是:extern UFUNEXPORT tag_t   UF_PART_ask_display_part( void );/* <NEC> */
作用描述:
Returns the tag of the current display part. In a non-assembly part, this is the
same as the work part. If there currently isn't a displayed part, a
NULL_TAG is returned.
Return:
         Tag of currently displayed part
上面是文档中对该函数的解释,如果不在装配环境中,那么函数的作用就是得到当前的Work_part,因为只有在装配中才有Display_part和Work_part这两个的区分的,你可以试一下。
       可能是你把这个问题想复杂了。我试了一下,没有什么问题。




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3