最近一段在学习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日