void GetAllOperTag(tag_t groupTag, vector<tag_t> &vOperTags)
{
int count=0;
tag_t * list;
UF_NCGROUP_ask_member_list(groupTag, &count, &list);//那到指定组中的所有成员{里面可以是组 也可以是工序}
for (int i=0; i<count; i++)
{
logical answer=false;
UF_NCGROUP_is_group(list[i], &answer); //判断对象是否 是组
if (answer)
{ vOperTags.push_back(list[i]); //把组的tag存到容器里面
GetAllOperTag(list[i], vOperTags); //如果是组 就又调用这个函数 让他在执行一次是不是组
}
}
}
//递归的方式函数中调用自己
void MyClass::do_it()
{< BR > //获取加工设置的TAG
tag_t setup_tag= NULL_TAG;
UF_SETUP_ask_setup(&setup_tag);
if (setup_tag == NULL_TAG)
{
uc1601("请先初始化加工环境",1);
return;
}< BR >
//获得程序视图下的根节点
tag_t programRootgroup=NULL_TAG;
UF_SETUP_ask_program_root(setup_tag, &programRootgroup);
<BR> //递归方式获得所有的操作TAG
vector<tag_t> vOperTags;
GetAllOperTag(programRootgroup, vOperTags);
for (int i= 0; i<vOperTags.size(); i++)
{
char name[130];
UF_OBJ_ask_name(vOperTags[i], name);<BR> print(name);
}
}
NX CAM二次开发—遍历程序视图组
最新推荐文章于 2024-09-16 17:46:36 发布