NX二次开发 PK根据边获取面 PK_EDGE_ask_faces
bool AskEdgeFaces(const tag_t edge_tag, std::vector<tag_t>& faces)
{
int i = 0, num = 0;
tag_t ps_tag = NULL_TAG, face_tag = NULL_TAG;
PK_FACE_t* pkObjects = NULL;
faces.clear();
if (NULL_TAG == edge_tag
|| UF_PS_ask_ps_tag_of_object(edge_tag, &ps_tag)
|| PK_EDGE_ask_faces(ps_tag, &num, &pkObjects)
|| 0 == num)
{
return false;
}
for (i = 0; i < num; i++)
{
if (!UF_PS_ask_object_of_ps_tag(pkObjects[i], &face_tag))
{
faces.push_back(face_tag);
}
}
PK_MEMORY_free(pkObjects);
pkObjects = NULL;
if (0 == (int)faces.size())
return false;
//PK_AskEntityOcc(edge_tag, faces);//如果是装配模式 需要把原型转换成occ 暂不提供
return true;
}
bool PK_AskEdgeFaces(const PK_EDGE_t pkEdge, std::vector<PK_FACE_t>& pkFaces)
{
int i = 0, num = 0;
PK_FACE_t* objects = NULL;
pkFaces.clear();
if (0 == p