NX二次开发-算法篇-找相切面
方法1:通过判断相邻面公共边的光顺性来找相切面
#include <uf.h>
#include <uf_modl.h>
#include <uf_obj.h>
UF_initialize();
//获取面的所有边
uf_list_p_t edge_list;
UF_MODL_ask_face_edges(42084, &edge_list);
//获取链表的数量
int count;
UF_MODL_ask_list_count(edge_list, &count);
for (int i = 0; i < count; i++)
{
//获取链表里的tag
tag_t EdgeTag = NULL_TAG;
UF_MODL_ask_list_item(edge_list, i, &EdgeTag);
//获取边的光顺性
logical is_smooth;
UF_MODL_ask_edge_smoothness(EdgeTag, 0, &is_smooth);
if (is_smooth == true)
{
//边找面
uf_list_p_t face_list;
UF_MODL_ask_edge_faces(EdgeTag, &face_list);
//获得链表数量
int face_count;
UF_MODL_ask_list_count(face_list, &face_count);
for (int j = 0; j < face_count; j++)
{
//获取链表里的tag
tag_t FaceTag = NULL_TAG;
UF_MODL_ask_list_item(face_list,