• NX二次开发-NXOPEN找相切面方法ScRuleFactory()->CreateRuleFaceTangent


     1 #include <uf_defs.h>
     2 #include <uf_ui_types.h>
     3 #include <iostream>
     4 #include <NXOpen/Session.hxx>
     5 #include <NXOpen/UI.hxx>
     6 #include <NXOpen/NXMessageBox.hxx>
     7 #include <NXOpen/Callback.hxx>
     8 #include <NXOpen/NXException.hxx>
     9 #include <NXOpen/BlockStyler_UIBlock.hxx>
    10 #include <NXOpen/BlockStyler_BlockDialog.hxx>
    11 #include <NXOpen/BlockStyler_PropertyList.hxx>
    12 #include <NXOpen/BlockStyler_Group.hxx>
    13 #include <NXOpen/BlockStyler_FaceCollector.hxx>
    14 #include <uf.h>
    15 #include <uf_obj.h>
    16 #include <NXOpen/NXObjectManager.hxx>
    17 #include <NXOpen/PartCollection.hxx>
    18 #include <NXOpen/Face.hxx>
    19 #include <NXOpen/FaceTangentRule.hxx>
    20 #include <NXOpen/ScCollectorCollection.hxx>
    21 #include <NXOpen/ScRuleFactory.hxx>
    22 
    23 
    24         UF_initialize();
    25 
    26         //NXOPEN初始化
    27         NXOpen::Session *theSession = NXOpen::Session::GetSession();
    28         NXOpen::Part *workPart(theSession->Parts()->Work());
    29         NXOpen::Part *displayPart(theSession->Parts()->Display());
    30 
    31         //选择面控件
    32         PropertyList* FaceSelectProps = face_select0->GetProperties();
    33         std::vector<NXOpen::TaggedObject*> faces = FaceSelectProps->GetTaggedObjectVector("SelectedObjects");
    34         delete FaceSelectProps;
    35         FaceSelectProps = NULL;
    36 
    37         tag_t FaceTag = faces[0]->Tag();
    38 
    39         //对选中的面设置颜色
    40         UF_OBJ_set_color(FaceTag, 186);
    41 
    42         //给入一个面
    43         NXOpen::Face *face1(dynamic_cast<NXOpen::Face *>(NXOpen::NXObjectManager::Get(FaceTag)));
    44 
    45         //使用NXOPEN相切面规则
    46         std::vector<NXOpen::Face *> boundaryFaces1(0);
    47         NXOpen::FaceTangentRule *faceTangentRule1;
    48         faceTangentRule1 = workPart->ScRuleFactory()->CreateRuleFaceTangent(face1, boundaryFaces1, 0.050000000000000003);
    49         std::vector<NXOpen::SelectionIntentRule *> rules1(1);
    50         rules1[0] = faceTangentRule1;
    51 
    52         NXOpen::ScCollector* scCollector1 = workPart->ScCollectors()->CreateCollector();
    53         scCollector1->ReplaceRules(rules1, false);
    54 
    55         std::vector<NXOpen::TaggedObject*> BB = scCollector1->GetObjects();
    56         for (int i = 0; i < BB.size(); i++)
    57         {
    58             UF_OBJ_set_color(BB[i]->Tag(), 1);
    59         }
    60 
    61         UF_terminate();

  • 相关阅读:
    教你认识Git
    jmeter跨线程组传递token
    win10企业版激活步骤
    jmeter录制浏览器Https请求
    win10程序无法正常启动0xc0000142
    PPT页面切换动画
    PPT页面动画制作
    查询一门成绩高于另一门课程的学生信息
    MongoDB固定集合-capped collection
    CoronaSDK场景管理库:Composer library (中)
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/11069949.html
Copyright © 2020-2023  润新知