//获取面的中心点
double uvs[4];
UF_MODL_ask_face_uv_minmax(faces[0]->GetTag(), uvs); //获得面u,v参数空间(u,v最小,最大值)
double param[2]; //输入U,V方向值
param[0] = uvs[0] + (uvs[1] - uvs[0]) * 0.5;
param[1] = uvs[2] + (uvs[3] - uvs[2]) * 0.5;
double midPoint[3]; //输出点坐标
double u1[3]; //输出 输出一阶导数在U位置
double v1[3]; //输出 输出一阶导数在V位置
double u2[3]; //输出 输出二阶导数在U位置
double v2[3]; //输出 输出二阶导数在V位置
double unit_norm[3]; //输出面上该点的矢量方向
double radii[2]; //输出,双半径,输出主曲率半径
UF_MODL_ask_face_props(faces[0]->GetTag(), param, midPoint, u1, v1, u2, v2, unit_norm, radii);
//注释方式1: 只能沿X-Y平面显示
int num_lines_text = 2;//注释行数
char* text_string[2] = { "X=15", "Y=24" };//注释文本内容数组
tag_t note_tag = NULL_TAG;
UF_DRF_create_note(num_lines_text, text_string, midPoint, 0, ¬e_tag);
//注释方式2: 可以跟随屏幕显示转动,是一个临时显示文本
UF_DISP_refresh();//显示刷新
UF_OBJ_disp_props_t disp;
disp.layer = 201;
disp.color = 186;
disp.blank_status = UF_OBJ_NOT_BLANKED;
disp.line_width = UF_OBJ_WIDTH_NORMAL;
disp.font = 0;
double char_size = 5.0;//字体尺寸
int hardware = 1;//1:软件字体 0:硬件字体
char msg[256];//注释内容
sprintf_s(msg, "X=%d\nY=%d", 10, 20);
UF_DISP_display_temporary_text(NULL_TAG, UF_DISP_USE_WORK_VIEW, msg, midPoint, UF_DISP_MIDDLELEFT, &disp, char_size, hardware);
【UG\NX二次开发】两种注释的方式
于 2023-11-20 17:21:15 首次发布