录制修改封装删除面 DeleteFaces

  1. 1 #include <uf_defs.h>
  2. 2 #include <NXOpen/NXException.hxx>
  3. 3 #include <NXOpen/Session.hxx>
  4. 4 #include <NXOpen/BasePart.hxx>
  5. 5 #include <NXOpen/Builder.hxx>
  6. 6 #include <NXOpen/Expression.hxx>
  7. 7 #include <NXOpen/ExpressionCollection.hxx>
  8. 8 #include <NXOpen/Face.hxx>
  9. 9 #include <NXOpen/FaceDumbRule.hxx>
  10. 10 #include <NXOpen/Features_Brep.hxx>
  11. 11 #include <NXOpen/Features_DeleteFaceBuilder.hxx>
  12. 12 #include <NXOpen/Features_FeatureCollection.hxx>
  13. 13 #include <NXOpen/ISurface.hxx>
  14. 14 #include <NXOpen/NXObject.hxx>
  15. 15 #include <NXOpen/Part.hxx>
  16. 16 #include <NXOpen/PartCollection.hxx>
  17. 17 #include <NXOpen/Plane.hxx>
  18. 18 #include <NXOpen/PlaneCollection.hxx>
  19. 19 #include <NXOpen/ScCollector.hxx>
  20. 20 #include <NXOpen/ScRuleFactory.hxx>
  21. 21 #include <NXOpen/SelectISurface.hxx>
  22. 22 #include <NXOpen/SelectObject.hxx>
  23. 23 #include <NXOpen/SelectionIntentRule.hxx>
  24. 24 #include <NXOpen/Session.hxx>
  25. 25 #include <NXOpen/SmartObject.hxx>
  26. 26 #include <NXOpen/TaggedObject.hxx>
  27. 27 #include <NXOpen/Unit.hxx>
  1. 1 static void DeleteFaces(vector<tag_t> tagFaces)
  2. 2 {
  3. 3 if (tagFaces.size() == 0) return;
  4. 4 vector<Face *> deleteface;
  5. 5 for (int i = 0; i < tagFaces.size(); i++)
  6. 6 {
  7. 7 NXOpen::Face *face1(dynamic_cast<NXOpen::Face *>(NXOpen::NXObjectManager::Get(tagFaces[i])));
  8. 8 deleteface.push_back(face1);
  9. 9 }
  10. 10
  11. 11 Session *theSession = Session::GetSession();
  12. 12 Part *workPart(theSession->Parts()->Work());
  13. 13 Features::Feature *nullFeatures_Feature(NULL);
  14. 14 Features::DeleteFaceBuilder *deleteFaceB;
  15. 15 deleteFaceB = workPart->Features()->CreateDeleteFaceBuilder(nullFeatures_Feature);
  16. 16 FaceDumbRule *faceDumbRule1;
  17. 17 faceDumbRule1 = workPart->ScRuleFactory()->CreateRuleFaceDumb(deleteface);
  18. 18 std::vector<SelectionIntentRule *> rules1(1);
  19. 19 rules1[0] = faceDumbRule1;
  20. 20 deleteFaceB->FaceCollector()->ReplaceRules(rules1, false);
  21. 21 NXObject *nXObject1;
  22. 22 nXObject1 = deleteFaceB->Commit();
  23. 23 deleteFaceB->Destroy();
  24. 24 }

【NX二次开发】 删除面操作的更多相关文章

  1. NX二次开发-删除功能区工具栏UF_UI_remove_ribbon

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  2. NX二次开发-删除经典工具栏UF_UI_remove_toolbar

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  3. 【NX二次开发】属性操作相关函数的使用方法

    内容包括:1.属性创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性效果: 源码: #include <stdlib.h> # ...

  4. 【NX二次开发】布尔操作

    //布尔操作 //UF_MODL_operations 对两个体执行布尔操作 //UF_MODL_unite_bodies 相加布尔操作,不可保留目标体.工具体 //UF_MODL_unite_bod ...

  5. 【NX二次开发】属性操作总结

    内容包括:1.属相创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性 源码: 1 #include <stdlib.h> 2 ...

  6. NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

    NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...

  7. NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))

    在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...

  8. NX二次开发-UDO用户自定义对象(UFUN)【持续完善】

    每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...

  9. C# NX二次开发环境搭建

    在网上看到一篇C#二次开发环境搭建的文章:NX二次开发-使用NXOPEN C#手工搭建开发环境配置 ,写得非常好.我按照文章操作,过程中遇到几个问题,把问题分享给大家,希望对各位有帮助. 注意三点: ...

  10. NX二次开发-获取WCS坐标系的原点坐标和矩阵标识

    函数:UF_CSYS_ask_csys_info() 函数说明:获取工作坐标系对象的标识符. 用法: #include <uf.h> #include <uf_csys.h> ...

随机推荐

  1. VS Code插件推荐-Settings Sync

    Settings Sync功能 将vscode的本地设置.插件保存至远端,方便保存 Usage 插件市场安装Setting Sync之后,⌘+P输入>sync,即可看到相关操作,选中点击之后官方 ...

  2. PHP基础-常用的数组相关处理函数

    一 数组键/值操作有关的函数 1. array_values()//获取数组中所有的值 $lamp=array("os"=>"linux", " ...

  3. 使用C#操作注册表

    这节讲一下使用C#操作注册表. 首先来了解一下,什么是注册表,注册表是Windows中特有的一个东西,百度百科中对其解释如下:Windows注册表(Registry)实质上是一个庞大的数据库,它存储着 ...

  4. .Net Core平台下,添加包的引用

    一个程序的开发过程中离不开对程序集(Assembly,将程序集打包好,就成为一个.dll的包文件,它也叫动态链接库(Dynamic Link Library​))的依赖,在以前ASP.Net时代,微软 ...

  5. Codeforces Round #712 (Div. 2)

    A. Déjà Vu 题意:就是问能否加上字母a,使得字符串不中心对称 思路:只有一种情况不能加入,就是全部是a,剩下的都可以满足,找a的位置就找哪个字母不是a,然后让它的对称位置是新加的这个a 代码 ...

  6. 使用BeanUtils.copyProperties踩坑经历

    1. 原始转换 提起对象转换,每个程序员都不陌生,比如项目中经常涉及到的DO.DTO.VO之间的转换,举个例子,假设现在有个OrderDTO,定义如下所示: public class OrderDTO ...

  7. 10.Debug

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 Debug调式, ...

  8. 【转载】ltp压力测试结果分析脚本

    博客园 首页 新随笔 联系 管理 订阅 随笔- 8  文章- 0  评论- 0  ltp压力测试结果分析脚本   最近工作性质发生了改变,在做操作系统方面的测试.接手的第一个任务是做ltp stres ...

  9. python中的threading模块使用说明

    这段时间使用python做串口的底层库,用到了多线程,对这部分做一下总结.实际用完了后再回过头去看python的官方帮助文档,感觉受益匪浅,把里面的自己觉得有用的一些关键点翻译出来,留待后续查验.th ...

  10. 10.6 ip:网络配置工具

    ip命令是iproute软件包中的一个强大的网络配置工具,用于显示或管理Linux系统的路由.网络设备.策略路由和隧道.   ip [option] [object] [command] ip [选项 ...