获取片体的边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\n", iBoundariesCount);
for (int i = 0; i < iBoundariesCount; i++)
{
list("iEdgesCount[%d] = %d\n", i, iEdgesCount[i]);
iEdgeSumCount += iEdgesCount[i];
}
for (int i = 0; i < iEdgeSumCount; i++)
{
list("tagEdges[%d] = %d\n", 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);
}
效果: