使用ufun函数
1.创建块;
2.再进行遍历面,
3.然后将面改颜色,以确认遍历完成。
具体实现如下:
UF_FEATURE_SIGN sign1;
tag_t block_tag;
block_tag = NULL_TAG;
tag_t body_tag = NULL_TAG;
double corner_point1[3] = { 0.0, 0.0, 0.0 };
char* edge_len[3] = { "200.0", "100.0","100.0" };
sign1 = UF_NULLSIGN;
tag_t blk_tag1 = NULL_TAG; // 现在是指针类型
//创建块
UF_MODL_create_block(sign1, block_tag, corner_point1, edge_len, &blk_tag1); // 不再需要取地址符号
//遍历面
UF_MODL_ask_feat_body(blk_tag1, &body_tag);//获得块的标识号,通过特征获得
uf_list_p_t face_list;//定义链表变量
UF_MODL_create_list(&face_list);//初始化链表
UF_MODL_ask_body_faces(body_tag, &face_list);//通过体特征获得面的链表
int i = 0;//面链表的序号值
tag_t current_face = NULL_TAG;
UF_MODL_ask_list_count(face_list, &i);//获得面组的总数量
for (int j = 0; j <= i - 1; j++)//通过循环遍历面并改颜色
{
UF_MODL_ask_list_item(face_list, j, ¤t_face);//获得具体面的标识号
tag_t face_tag = current_face;
UF_OBJ_set_color(face_tag, 1);//设定面颜色
}
// 释放内存
UF_MODL_delete_list(&face_list);