#include <uf_obj.h>
#include <uf_setup.h>
#include <uf_ncgroup.h>
static logical cycelGenerateCb(tag_t tag, void* data)
{
logical is_group;
char name[133];
UF_CALL(UF_NCGROUP_is_group(tag, &is_group));
UF_CALL(UF_OBJ_ask_name(tag, name));
UF_UI_write_listing_window(name);
UF_UI_write_listing_window("\n");
return TRUE;
}
static void do_it(void)
{
UF_UI_open_listing_window();
tag_t setup_tag;
tag_t program_group;
UF_CALL(UF_SETUP_ask_setup(&setup_tag));
UF_CALL(UF_SETUP_ask_program_root(setup_tag, &program_group));
UF_CALL(UF_NCGROUP_cycle_members(program_group, cycelGenerateCb, NULL));
}
其中,有几点注意一下:
1) 将UF_SETUP_ask_program_root换成UF_SETUP_ask_geom_root或UF_SETUP_ask_mthd_root或UF_SETUP_ask_mct_root,则UF_NCGROUP_cycle_members转而对几何体、加工方法、刀具遍历;
2) 刀具tag的获取也可以用UF_OBJ_cycle_objs_in_part来获得,估计其它项也可以;
本文介绍了一个使用UF库中NCGroup模块进行成员遍历的代码示例,展示了如何通过不同函数如UF_SETUP_ask_program_root, UF_NCGROUP_cycle_members等,对程序、几何体、加工方法及刀具进行遍历。
618

被折叠的 条评论
为什么被折叠?



