【NX二次开发】获取相邻面UF_MODL_ask_adjac_faces
获取箭头指示的面的相邻面

源码:
1 extern DllExport void ufsta(char *param, int *returnCode, int rlen)
2 {
3 UF_initialize();
4 tag_t tagFace=47466;
5 uf_list_p_t adjacent_faces;
6 UF_MODL_ask_adjac_faces(tagFace, &adjacent_faces); //获得相邻面
7 int list_count = 0;
8 UF_MODL_ask_list_count(adjacent_faces, &list_count);
9 for (int i = 0; i < list_count; i++)
10 {
11 tag_t tFace = NULL_TAG;
12 UF_MODL_ask_list_item(adjacent_faces, i, &tFace);
13 UF_DISP_set_highlight(tFace, TRUE);
14 }
15 UF_MODL_delete_list(&adjacent_faces);
16
17 UF_terminate();
18 }
19
20 extern int ufusr_ask_unload(void)
21 {
22 return (UF_UNLOAD_IMMEDIATELY);
23 }
不知道这个函数之前自己也可以封装一个函数使用:
1 int get_NeighborFaces(tag_t tagFace, vector<tag_t> *vecFaces)
2 {
3 vector<tag_t> vecAllFaces;
4 vector<tag_t> vecEdges;
5 //获取面的边【自定义函数】
6 get_face_edges(tagFace, 0, &vecEdges);
7 for (int i = 0; i < vecEdges.size(); i++)
8 {
9 vector<tag_t> vecTempFaces;
10 //获取边的面【自定义函数】
11 get_edge_faces(vecEdges[i], &vecTempFaces);
12 for (int j = 0; j < vecTempFaces.size(); j++)
13 {
14
15 vecAllFaces.push_back(vecTempFaces[j]);
16 }
17 }
18 //排序去重【自定义函数】
19 Setting_Order(vecAllFaces, vecFaces, 3);
20
21 for (vector<tag_t>::iterator itor = (*vecFaces).begin(); itor != (*vecFaces).end(); /*++itor*/)
22 {
23 if (*itor == tagFace)
24 {
25 itor = (*vecFaces).erase(itor);
26 }
27 else
28 {
29 ++itor;
30 }
31 }
32 return 0;
33 }
【NX二次开发】获取相邻面UF_MODL_ask_adjac_faces的更多相关文章
- NX二次开发-获取WCS坐标系的原点坐标和矩阵标识
函数:UF_CSYS_ask_csys_info() 函数说明:获取工作坐标系对象的标识符. 用法: #include <uf.h> #include <uf_csys.h> ...
- NX二次开发-获取WCS标识
函数:UF_CSYS_ask_wcs() 函数说明:获取工作坐标系对象的标识. 用法: 1 #include <uf.h> 2 #include <uf_csys.h> 3 e ...
- NX二次开发-获取面的法向向量UF_MODL_ask_face_data
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> #include <u ...
- NX二次开发-获取切换按钮的当前状态UF_MB_ask_toggle_state
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-获取按钮的ID UF_MB_ask_button_id
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-获取WCS标识UF_CSYS_ask_wcs
NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...
- NX二次开发-获取坐标系信息UF_CSYS_ask_csys_info
NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...
- NX二次开发-获取矩阵值UF_CSYS_ask_matrix_values
NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //获取WCS标识 tag_t WcsId = ...
- NX二次开发-获取工程图尺寸的值UF_DRF_ask_dim_info
UF_initialize(); //遍历所有尺寸 ; tag_t DimTag = NULL_TAG; UF_OBJ_cycle_objs_in_part1(UF_PART_ask_display_ ...
- NX二次开发-获取尺寸的附加文本UF_DRF_ask_appended_text
#include <uf.h> #include <uf_drf.h> #include <uf_obj.h> #include <uf_part.h> ...
随机推荐
- 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...
- 【vue-06】webpack npm
什么是Webpack Webpack是一款模块加载器兼打包工具,他能把各种资源,比如js,css,less转化成一个静态文件,减少页面的请求,提高效率. 安装Webpack 在安装webpack之前, ...
- Docker 部署net5程序
1.前言 本文讲述使用docker容器部署.net5项目.实现跨平台. 部署环境:docker 容器.liunx系统.这里采用VmWare虚拟机.并采用MobaXterm工具实现终端连接linux系统 ...
- Mybatis学习之自定义持久层框架(四) 自定义持久层框架:生产sqlSession
前言 上一回我们完成了数据库配置文件的读取和解析工作,有了这些准备工作,我们就可以与数据库创建连接和会话了,所谓sqlSession就是数据库的会话,一切增删查改操作都是在与数据库的会话中完成,下面我 ...
- easy-flows源码研习
一.项目概述 1.原项目github地址:https://github.com/j-easy/easy-flows.git 2.easy-flows可以用非常简易的api创建常用的可组合的工作流.涵盖 ...
- 【BUAA软工】技术规格说明书
项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:技术规格说明书 技术规格说明书 宏观技术 后端 WEB服务器 WEB服务器选取的是Springboot,作为当下Java语言最主流的WE ...
- 【BUAA软工】结对编程作业
项目 内容 课程:2020春季软件工程课程博客作业(罗杰,任健) 博客园班级链接 作业:BUAA软件工程结对编程项目作业 作业要求 课程目标 学习大规模软件开发的技巧与方法,锻炼开发能力 作业目标 完 ...
- 普里姆算法(Prim)
概览 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图(带权图)里搜索最小生成树.即此算法搜索到的边(Edge)子集所构成的树中,不但包括了连通图里的所有顶点(Vertex)且其所有边的权 ...
- 微服务·API文档
阅文时长 | 3.92分钟 字数统计 | 2754.05字符 主要内容 | 1.什么是API文档 2.API文档的使用 3.声明与参考资料 『微服务·API文档』 编写人 | SCscHero 编写时 ...
- istioctl命令整理
显示配置文件中的差异 istioctl profile diff default demo 显示对应配置的profile istioctl profile dump demo 显示可用的配置 isti ...