//获取面的外边(最大轮廓)
bool ask_face_outer_side_edge(tag_t face_tag, std::vector<tag_t>& edges)
{
uf_loop_p_t loop_list1;
edges.clear();
UF_CALL(UF_MODL_ask_face_loops(face_tag, &loop_list1));
while (loop_list1)
{
if (loop_list1->type == 1)
{
uf_list_p_t edge_list1 = loop_list1->edge_list;
ist_to_vector(edge_list1, &edges);
UF_MODL_delete_list(&edge_list1);
break;
}
loop_list1 = loop_list1->next;
}
return true;
}
bool list_to_vector(uf_list_p_t uf_list, std::vector<tag_t> * tag)
{
int num = 0;
UF_MODL_ask_list_count(uf_list, &num);
if (num == 0)
return false;
for (int i = 0; i < num; i++)
{
tag_t temp_tag = uf_list->eid;
uf_list = uf_list->next;
tag->push_back(temp_tag);
}
return true;
}
【UG\NX二次开发】UF 获取面的外边(最大轮廓)(UF_MODL_ask_face_loops)
于 2023-11-10 15:50:36 首次发布