【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> ...
随机推荐
- VS Code插件推荐-Settings Sync
Settings Sync功能 将vscode的本地设置.插件保存至远端,方便保存 Usage 插件市场安装Setting Sync之后,⌘+P输入>sync,即可看到相关操作,选中点击之后官方 ...
- PHP基础-常用的数组相关处理函数
一 数组键/值操作有关的函数 1. array_values()//获取数组中所有的值 $lamp=array("os"=>"linux", " ...
- 使用C#操作注册表
这节讲一下使用C#操作注册表. 首先来了解一下,什么是注册表,注册表是Windows中特有的一个东西,百度百科中对其解释如下:Windows注册表(Registry)实质上是一个庞大的数据库,它存储着 ...
- .Net Core平台下,添加包的引用
一个程序的开发过程中离不开对程序集(Assembly,将程序集打包好,就成为一个.dll的包文件,它也叫动态链接库(Dynamic Link Library))的依赖,在以前ASP.Net时代,微软 ...
- Codeforces Round #712 (Div. 2)
A. Déjà Vu 题意:就是问能否加上字母a,使得字符串不中心对称 思路:只有一种情况不能加入,就是全部是a,剩下的都可以满足,找a的位置就找哪个字母不是a,然后让它的对称位置是新加的这个a 代码 ...
- 使用BeanUtils.copyProperties踩坑经历
1. 原始转换 提起对象转换,每个程序员都不陌生,比如项目中经常涉及到的DO.DTO.VO之间的转换,举个例子,假设现在有个OrderDTO,定义如下所示: public class OrderDTO ...
- 10.Debug
1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 Debug调式, ...
- 【转载】ltp压力测试结果分析脚本
博客园 首页 新随笔 联系 管理 订阅 随笔- 8 文章- 0 评论- 0 ltp压力测试结果分析脚本 最近工作性质发生了改变,在做操作系统方面的测试.接手的第一个任务是做ltp stres ...
- python中的threading模块使用说明
这段时间使用python做串口的底层库,用到了多线程,对这部分做一下总结.实际用完了后再回过头去看python的官方帮助文档,感觉受益匪浅,把里面的自己觉得有用的一些关键点翻译出来,留待后续查验.th ...
- 10.6 ip:网络配置工具
ip命令是iproute软件包中的一个强大的网络配置工具,用于显示或管理Linux系统的路由.网络设备.策略路由和隧道. ip [option] [object] [command] ip [选项 ...