NX二次开发 PK获得体上所有面 PK_BODY_ask_faces
//获得体上所有面 输入输出tag 这种方法比ufun函数快很多
bool AskBodyFaces(const tag_t body_tag, std::vector<tag_t>& faces)
{
int i = 0, num = 0;
tag_t ps_tag = NULL_TAG, object_tag = NULL_TAG;
PK_FACE_t* pkObjects = NULL;
faces.clear();
if (NULL_TAG == body_tag
|| UF_PS_ask_ps_tag_of_object(body_tag, &ps_tag)
|| PK_BODY_ask_faces(ps_tag, &num, &pkObjects))
{
return false;
}
if (0 == num)
return false;
for (i = 0; i < num; i++)
{
if (!UF_PS_ask_object_of_ps_tag(pkObjects[i], &object_tag))
faces.push_back(object_tag);
}
PK_MEMORY_free(pkObjects);
pkObjects = NULL;
if (0 == (int)faces.size())
return false;
//PK_AskEntityOcc(body_tag, fac