NX二次开发-UFUN不用UI控件,鼠标选中对象获得tag UF_UI_ask_global_sel_object_list

最近一段在学习NX CAM二次开发,发现在CAM函数里有一个函数UF_UI_ONT_ask_selected_nodes获取当前加工导航器选中的对象数量和TAG

这个函数不需要UI控件选择,直接鼠标选中哪个CAM对象上(刀具组,程序组等),就可以获得tag。很神奇。

我也在想,在建模模块有没有这样一个函数呢?找了半天没有找到。后来问了一下我的老师苏工,他告诉我UF_UI_ask_global_sel_object_list这个函数可以。

我测试了一下,还真的可以。而且这个函数没什么限制,理论上 所有模块,所有对象 只要能选中的都是可以直接获得tag的。

这个函数将请求全局选择列表中的对象

NX9+VS2012

#include <uf.h>
#include <uf_ui.h>
#include <uf_obj.h>
#include <uf_modl.h>

UF_initialize();


int num_objects = 0;
tag_t* objects = NULL_TAG;
UF_UI_ask_global_sel_object_list(&num_objects, &objects);

for (int i = 0; i < num_objects; i++)
{
    //特征找体
    tag_t bodyTag = NULL_TAG;
    UF_MODL_ask_feat_body(objects[i], &bodyTag);

    //设置颜色
    UF_OBJ_set_color(bodyTag, 186);
}

//释放
UF_free(objects);

UF_terminate();

Caesar卢尚宇
2020年5月20日

猜你喜欢

转载自www.cnblogs.com/nxopen2018/p/12926290.html