NX二次开发 UFUN判断对象是否显示对象 UF_OBJ_is_displayable
//NX8.0+VS2010
#include <uf_disp.h>
#include <uf_obj.h>
#include <uf_part.h>
extern DllExport void ufsta(char* param, int* returnCode, int rlen)
{
if (UF_initialize())
return;
tag_t next_tag = NULL_TAG;
int type = 0, subtype = 0;
do
{//遍历当前显示部件所有显示对象
next_tag = UF_OBJ_cycle_all(UF_PART_ask_display_part(), next_tag);
logical is_disp_layable = false;
UF_OBJ_is_displayable(next_tag, &is_disp_layable);
if (is_disp_layable)
{
UF_OBJ_ask_type_and_subtype(next_tag, &type, &subtype);//获得对象的类型
if (type == UF_solid_type && 0 == subtype)
{//如果对象是实体或者片体
UF_DISP_set_highlight(next_tag, 1);//设置高亮
}
}
} while (next_tag != NULL_TAG);
UF_terminate();
}