zoukankan      html  css  js  c++  java
  • 【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>
    View Code
     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 }
  • 相关阅读:
    VS2005调试问题与解决方法集锦
    [转]在.net 2005中,将数据集序列化成二进制,提高远程传输效率
    DotNet 网上相关资源
    NeHE中文学习网址
    Aspx页上设置客户端的缓存时间
    动态调用Win32 Function(API)
    PB调用COM组件
    字段绑定的效率问题
    三维向量类
    用DataTable绑定TreeView的方法
  • 原文地址:https://www.cnblogs.com/KMould/p/13373763.html
Copyright © 2011-2022 走看看