【NX二次开发】获取片体的边UF_MODL_ask_body_boundaries()

获取片体的边UF_MODL_ask_body_boundaries(),如果输入实体,则获取的片体的边的数量为0.

源码:

#include "Text.h"
extern DllExport void ufusr(char *param, int *returnCode, int rlen)
{
    UF_initialize();
    tag_t tagBody = 44971;
    //输入必须是片体,可以先用UF_MODL_ask_body_type()进行判断。
    int iBoundariesCount = 0;
    int *iEdgesCount;
    tag_t *tagEdges;
    int iEdgeSumCount = 0;
    UF_MODL_ask_body_boundaries(tagBody, &iBoundariesCount, &iEdgesCount, &tagEdges);
    list("iBoundariesCount=%d
", iBoundariesCount);

     for (int i = 0; i < iBoundariesCount; i++)
     {
         list("iEdgesCount[%d] = %d
", i, iEdgesCount[i]);
        iEdgeSumCount += iEdgesCount[i];
    }
    for (int i = 0; i < iEdgeSumCount; i++)
    {
        list("tagEdges[%d] = %d
", i, tagEdges[i]);
        UF_DISP_set_highlight(tagEdges[i], TRUE);//TRUE高亮显示  FALSE取消高亮显示
        uc1601("pause", 1);
        UF_DISP_set_highlight(tagEdges[i], FALSE);//TRUE高亮显示  FALSE取消高亮显示
    }
    UF_free(iEdgesCount);
    UF_free(tagEdges);
    UF_terminate();
}

extern int ufusr_ask_unload(void)
{
    return (UF_UNLOAD_IMMEDIATELY);
}

效果:

原文地址:https://www.cnblogs.com/KMould/p/14024320.html