NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_part.h> #include <uf_obj.h> UF_initialize(); //例子:已知有三个点,三个点按Z轴,由小到大排序 //定义数组 double PointOriZ[3]; int i = 0; //遍历当前显示部件的所有点 tag_t PointTag = NULL_TAG; UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_point_type, &PointTag); while (PointTag != NULL_TAG) { //获得点的XYZ坐标点 double PointOri[3]; UF_CURVE_ask_point_data(PointTag, PointOri); //存储Z坐标点 PointOriZ[i] = PointOri[2]; i++; UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_point_type, &PointTag); } //排序对比 double t = 0;//定义中间变量 if (PointOriZ[0] > PointOriZ[1]) { t = PointOriZ[0]; PointOriZ[0] = PointOriZ[1]; PointOriZ[1] = t; } if (PointOriZ[0] > PointOriZ[2]) { t = PointOriZ[0]; PointOriZ[0] = PointOriZ[2]; PointOriZ[2] = t; } if (PointOriZ[1] > PointOriZ[2]) { t = PointOriZ[1]; PointOriZ[1] = PointOriZ[2]; PointOriZ[2] = t; } //打印 char msg[256]; sprintf_s(msg, "%f,%f,%f", PointOriZ[0], PointOriZ[1], PointOriZ[2]); uc1601(msg, 1); UF_terminate(); Caesar卢尚宇 2020年5月26日