NX二次开发-算法篇-vector函数排序(例子:遍历所有点并排序)
NX9+VS2012
#include <uf.h>
#include <uf_ui.h>
#include <uf_curve.h>
#include <uf_obj.h>
#include <uf_part.h>
#include <vector>
#include <algorithm>
using namespace std;
UF_initialize();
//遍历前有一点需要注意,首先我们的默认基准坐标系上就有一个点,也就是原点0,0,0。
//还有一个要注意的地方是我们在创建点的时候,如果用创建点命令创建一个空间的点,这个是算一个点。
//如果是用草图去创建点的话,这个是两个点,因为默认草图坐标系原点处就有一个点了。
vector<double> MyPointZ;
//遍历当前显示部件的所有点
tag_t ObjectTag = NULL_TAG;
UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_point_type, &ObjectTag);
while (ObjectTag != NULL_TAG)
{
UF_OBJ_set_color(ObjectTag, );//设置所有点为红色
//获取点的XYZ坐标
double PointCoords[];
UF_CURVE_ask_point_data(ObjectTag, PointCoords);
MyPointZ.push_back(PointCoords[]);//添加坐标点Z值到vector
UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_point_type, &ObjectTag);
}
//vector排序去重
sort( MyPointZ.begin(), MyPointZ.end());//排序
MyPointZ.erase(unique(MyPointZ.begin(), MyPointZ.end()), MyPointZ.end());//去重
//打印
for (int i = ; i < MyPointZ.size(); i++)
{
char msg[];
sprintf_s(msg, "%f\n", MyPointZ[i]);
UF_UI_open_listing_window();
UF_UI_write_listing_window(msg);
}
UF_terminate();

NX二次开发-算法篇-vector函数排序(例子:遍历所有点并排序)的更多相关文章
- NX二次开发-算法篇-判断找到两个数组里不相同的对象
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> #include < ...
- NX二次开发-算法篇-冒泡排序(例子:遍历所有点并排序)
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_curve.h> #include <u ...
- NX二次开发-算法篇-创建最大边界包容盒
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...
- NX二次开发-算法篇-随便找个不规则的体,找出面的中心点的Z坐标最高和最低的面,高亮显示
NX9+VS2012 #include <uf.h> #include <uf_evalsf.h> #include <NXOpen/Body.hxx> #incl ...
- NX二次开发-算法篇-找相切面
方法1:通过判断相邻面公共边的光顺性来找相切面 1 #include <uf.h> 2 #include <uf_modl.h> 3 #include <uf_obj.h ...
- 【NX二次开发】用户出口函数介绍
用户出口(User Exit)是NX Open 中的一个重要概念.NX在运行过程中某些特定的位置存在规定的出口,当进程执行到这些出口时,NX会自动检查用户是否在此处已定义了指向内部程序位置的环境变量: ...
- NX二次开发-UFUN删除链表函数UF_MODL_delete_list
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> #include <u ...
- NX二次开发-C++的vector排序去重用法
#include <algorithm> //vector排序去重 sort( BoxNum.begin(), BoxNum.end()); BoxNum.erase(unique(Box ...
- NX二次开发-C++的vector用法
#include <algorithm> //vector排序去重 sort( BoxNum.begin(), BoxNum.end()); BoxNum.erase(unique(Box ...
随机推荐
- 防火墙---CentOS
1.查看防火墙状态 firewall-cmd --state 2.停止防火墙 systemctl stop firewalld.service 3.禁止开机启动防火墙 systemctl disabl ...
- phpass类加密算法
客户说用md5加密容易被破解,要求使用bcrypt加密,经搜索发现password_hash函数可以轻松对密码实现加盐加密,比md5更安全,缺点是运行慢. phpass是一个开源类库,它可以让我们更方 ...
- thinkcmf链接多个数据库
1.打开/data/conf/config.php 'db1'=>[ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '', / ...
- Java Http POST/GET 情求
POST: //返回体 public static final String RESPONCE_BODY = "responceBody"; //URL public static ...
- 线性基思想+贪心——cf1249C
/*1+3+9+...+3^n<3^(n+1),按这个思路贪心一下就好*/#include<bits/stdc++.h> using namespace std; #define l ...
- BZOJ 4516: [Sdoi2016]生成魔咒(后缀数组)
传送门 解题思路 题目其实就是动态维护本质不同的串的个数.考虑到只有加数字的操作,所以可以用后缀数组.题目是每次往后加数字,这样不好处理,因为每次加数字之后所有的后缀都会改变.所以要转化一下思路,就是 ...
- js中浏览器对象BOM
参考 : https://www.cnblogs.com/Peng2014/p/4725524.html 1. window对象 https://www.runoob.com/jsref/ob ...
- ACdream 1157 (cdq分治)
题目链接 Segments Time Limit: 4000/2000MS (Java/Others)Memory Limit: 20000/10000KB (Java/Others) Problem ...
- 剑指offer---2、二叉搜索树的后序遍历序列
剑指offer---2.二叉搜索树的后序遍历序列 一.总结 一句话总结: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字 ...
- Useful code snippets with C++ boost
Useful code snippets with C++ boost Is Punctuation It’s very straight forward to use boost.regex as ...