【NX二次开发】 删除面操作
录制修改封装删除面 DeleteFaces

1 #include <uf_defs.h>
2 #include <NXOpen/NXException.hxx>
3 #include <NXOpen/Session.hxx>
4 #include <NXOpen/BasePart.hxx>
5 #include <NXOpen/Builder.hxx>
6 #include <NXOpen/Expression.hxx>
7 #include <NXOpen/ExpressionCollection.hxx>
8 #include <NXOpen/Face.hxx>
9 #include <NXOpen/FaceDumbRule.hxx>
10 #include <NXOpen/Features_Brep.hxx>
11 #include <NXOpen/Features_DeleteFaceBuilder.hxx>
12 #include <NXOpen/Features_FeatureCollection.hxx>
13 #include <NXOpen/ISurface.hxx>
14 #include <NXOpen/NXObject.hxx>
15 #include <NXOpen/Part.hxx>
16 #include <NXOpen/PartCollection.hxx>
17 #include <NXOpen/Plane.hxx>
18 #include <NXOpen/PlaneCollection.hxx>
19 #include <NXOpen/ScCollector.hxx>
20 #include <NXOpen/ScRuleFactory.hxx>
21 #include <NXOpen/SelectISurface.hxx>
22 #include <NXOpen/SelectObject.hxx>
23 #include <NXOpen/SelectionIntentRule.hxx>
24 #include <NXOpen/Session.hxx>
25 #include <NXOpen/SmartObject.hxx>
26 #include <NXOpen/TaggedObject.hxx>
27 #include <NXOpen/Unit.hxx>
1 static void DeleteFaces(vector<tag_t> tagFaces)
2 {
3 if (tagFaces.size() == 0) return;
4 vector<Face *> deleteface;
5 for (int i = 0; i < tagFaces.size(); i++)
6 {
7 NXOpen::Face *face1(dynamic_cast<NXOpen::Face *>(NXOpen::NXObjectManager::Get(tagFaces[i])));
8 deleteface.push_back(face1);
9 }
10
11 Session *theSession = Session::GetSession();
12 Part *workPart(theSession->Parts()->Work());
13 Features::Feature *nullFeatures_Feature(NULL);
14 Features::DeleteFaceBuilder *deleteFaceB;
15 deleteFaceB = workPart->Features()->CreateDeleteFaceBuilder(nullFeatures_Feature);
16 FaceDumbRule *faceDumbRule1;
17 faceDumbRule1 = workPart->ScRuleFactory()->CreateRuleFaceDumb(deleteface);
18 std::vector<SelectionIntentRule *> rules1(1);
19 rules1[0] = faceDumbRule1;
20 deleteFaceB->FaceCollector()->ReplaceRules(rules1, false);
21 NXObject *nXObject1;
22 nXObject1 = deleteFaceB->Commit();
23 deleteFaceB->Destroy();
24 }
【NX二次开发】 删除面操作的更多相关文章
- NX二次开发-删除功能区工具栏UF_UI_remove_ribbon
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-删除经典工具栏UF_UI_remove_toolbar
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- 【NX二次开发】属性操作相关函数的使用方法
内容包括:1.属性创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性效果: 源码: #include <stdlib.h> # ...
- 【NX二次开发】布尔操作
//布尔操作 //UF_MODL_operations 对两个体执行布尔操作 //UF_MODL_unite_bodies 相加布尔操作,不可保留目标体.工具体 //UF_MODL_unite_bod ...
- 【NX二次开发】属性操作总结
内容包括:1.属相创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性 源码: 1 #include <stdlib.h> 2 ...
- NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))
NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...
- NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))
在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...
- NX二次开发-UDO用户自定义对象(UFUN)【持续完善】
每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...
- C# NX二次开发环境搭建
在网上看到一篇C#二次开发环境搭建的文章:NX二次开发-使用NXOPEN C#手工搭建开发环境配置 ,写得非常好.我按照文章操作,过程中遇到几个问题,把问题分享给大家,希望对各位有帮助. 注意三点: ...
- NX二次开发-获取WCS坐标系的原点坐标和矩阵标识
函数:UF_CSYS_ask_csys_info() 函数说明:获取工作坐标系对象的标识符. 用法: #include <uf.h> #include <uf_csys.h> ...
随机推荐
- 【python】Leetcode每日一题-设计停车系统
[python]Leetcode每日一题-设计停车系统 [题目描述] 请你给一个停车场设计一个停车系统.停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位. 请你实现 Parki ...
- CentOS安装Redis报错[server.o] Error 1
原因 准备安装的Redis服务版本为6.0.8, gcc的版本为4.8.5,可能是gcc版本过低到导致的 解决办法 安装低版本Redis或者安装高版本gcc
- java之Collection
java中的Collection可分为List.Set.Queue三种类型. 1.List. List会按照插入的顺序保存对象,较为常用的实现类有ArrayList,LinkedList和Vector ...
- QQ账号登录测试用例
- 用 edgeadm 一键安装边缘 K8s 集群和原生 K8s 集群
背景 目前,很多边缘计算容器开源项目在使用上均存在一个默认的前提:用户需要提前准备一个标准的或者特定工具搭建的 Kubernetes 集群,然后再通过特定工具或者其他方式在集群中部署相应组件来体验边缘 ...
- 优雅地使用命令行:Tmux 终端复用
转自:http://harttle.com/2015/11/06/tmux-startup.html 你是否曾经开过一大堆的Terminal?有没有把它们都保存下来的冲动?Tmux 的Session就 ...
- CSS3 变形
目录 Transform Transform与坐标系统 transform-origin transform-style 二维旋转 旋转 rotate 平移 translate translateX ...
- powercli创建虚拟机步骤及批量创建脚本
https://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.powercli.cmdletref.doc%2FSet-OSCust ...
- 一文搞懂spring的常用注解
spring传统做法是使用xml文件对bean进行注入和配置.通过使用spring提供的注解,可以极大的降低配置xml文件的繁琐.本文将介绍常用的注解. 一@Autowired Autowired意为 ...
- Docker创建镜像以及私有仓库
Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...