点击查看详细介绍

UISTYLER对话框选择对象问题

CUI821228 16年前 14343 8

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


调出UISTYLER对话框的同时选取对象,执行完“应用”后仍然会累加(释放不了),怎么办,怎么样在执行完“应用”后可以重新选取对象,并且不会影响上一步选取的对象?
期待高手的回答,感激!

0

最新回复 (8)
  • qindongjun88 16年前
    1

    UF_UI_remove_from_sel_list哪个地方你不满意呀???说来听听........
    UF_UI_remove_all_from_sel_list应该可以达到你的要求吧?????

  • CUI821228 16年前
    2

    • 非常感谢楼上的热心,是这样的。
      当调出UISTYLER对话框时可以在UG窗口选取指定类型的对象,比如选一个面改颜色,我执行“应用”后,对象颜色更改,此时我再选一个面,提示区显示对象数自动累加为2个,改颜色,这个时候前面所选的那个面的颜色也跟着变了。后来我在“应用”回调的最后用了UF_UI_remove_from_sel_list();这样只要一点应用就会把选取列表中的对象移除。也基本上可以满足需要,但是觉得还没有达到满意的效果,我想要的是在执行“应用”后如果没有再次选取对象则仍然可以对上一步操作中所选的对象继续操作(记忆上次选取内容),如果又选取了对象,则只可对本次所选的对象操作。也就是第二次选取对象可以冲掉第一步所选的对象。记忆但不会累加。
    • 就好像是有一个单独的“选择”回调函数,选取对象时自动清空上次选取的对象,并记录本次所选对象。不知道我把问题说清楚了没有,期待中。
      谢谢!


  • mmgoal 16年前
    3

    如果选择只有一个对象的话,你可以定义一个全局变量,重新选择以后替换这个全局变量的值,就能达到你想要的效果;

  • CUI821228 16年前
    4

    是可选很多对象,能否支一招???

  • qindongjun88 16年前
    5

    这个很简单呀!!
    建议你使用UF_UI_remove_all_from_sel_list而不要用UF_UI_remove_from_sel_list函数.
    首先用UF_UI_ask_sel_list_count函数计算出当前所选择的对象数量........
    你在调用UF_UI_remove_all_from_sel_list函数之前再一次调用UF_UI_ask_sel_list_count函数来求出对象的数量,比较两次的数量是否相同不就得出你想要的结果了吗?????

  • CUI821228 16年前
    6

    非常感谢楼上的热情帮助,终于实现了我想要的效果,不过我用的不是你的方案,这个程序让我再一次深深的体会到了思路在写程序过程中的重要性。
    我的方法是这样的,调用回调函数时,在进行操作之前先用UF_UI_ask_sel_object_list(select,

  • mmgoal 16年前
    7

    楼上问题主要是判断条件的定义,和循环嵌套的写法,其中牵扯到运行效率的问题与数据结构有关,还是很复杂的,期待啊!!牛人!

  • CUI821228 7年前
    8

    UF_free()不行,UF_STYLER_free_value();也不行,我现在用的是把对象从选取列表中移除:UF_UI_remove_from_sel_list();但是达不到满意的效果,郁闷了好久了

请登录后发表新帖