NX二次开发-算法篇-在循环里得到最大值和最小值(遍历点例子)
这个算法是几年前我的开发老师教给我的,当时我没有细心研究,过后就忘了,从没使用过,今天又重新翻出来重新学一下。
在不会这个算法前,我用的都是排序算法,都整上冒泡排序了,顿时感觉自己挺傻逼的,写的那么麻烦。当时是不会边遍历边判断大小,只会先全部遍历出来,在写排序算法判断大小。
以前的算法博客文章
NX二次开发-算法篇-例子:已知有三个点,三个点按Z轴,由小到大排序
NX二次开发-算法篇-vector函数排序(例子:遍历所有点并排序)
NX二次开发-算法篇-冒泡排序(例子:遍历所有点并排序)
例子:
遍历所有点,得到Z轴坐标最大和最小的点,将它高亮。
NX9+VS2012
#include <uf.h>
#include <uf_curve.h>
#include <uf_part.h>
#include <uf_obj.h>
#include <uf_disp.h>
UF_initialize();
double z = -10000;
double z1 = 10000;
tag_t highest = NULL;
tag_t lowest = NULL;
//遍历当前prt里所有点
tag_t point_tag = NULL_TAG;
UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_point_type, &point_tag);
while (point_tag != NULL_TAG)
{
//获得点的坐标
double point_coords[3];
UF_CURVE_ask_point_data(point_tag, point_