zoukankan      html  css  js  c++  java
  • 获取面面积,资料来自录制和网友分享

     1 #include <NXOpen/MeasureBuilder.hxx>
     2 #include <NXOpen/MeasureFaceBuilder.hxx>
     3 #include <NXOpen/MeasureFaces.hxx>
     4 #include <NXOpen/Unit.hxx>
     5 #include <NXOpen/UnitCollection.hxx>
     6 #include <NXOpen/NXObject.hxx>
     7 #include <NXOpen/NXObjectManager.hxx>
     8 
     9 double GetFaceArea(Face* face)//获取面积
    10 {
    11     Session* theSession = Session::GetSession();
    12     Part* workPart(theSession->Parts()->Work());
    13     Part* displayPart(theSession->Parts()->Display());
    14     NXObject* nullNXObject(NULL);
    15     NXOpen::MeasureFaceBuilder* measureFaceBuilder1;
    16     measureFaceBuilder1 = workPart->MeasureManager()->CreateMeasureFaceBuilder(nullNXObject);
    17     std::vector<IParameterizedSurface*> objects1(1);
    18     objects1[0] = face;
    19     MeasureFaces* measureFaces1;
    20     measureFaces1 = workPart->MeasureManager()->NewFaceProperties(NULL, NULL, 0.9999, objects1);
    21     measureFaceBuilder1->Commit();
    22     ///measureFaceBuilder1->FaceObjects()->Clear();
    23     measureFaceBuilder1->Destroy();
    24     theSession->CleanUpFacetedFacesAndEdges();
    25     double areaValue = measureFaces1->Area();
    26     return areaValue;
    27 }
    28 
    29 double GetFaceArea(tag_t face)//获取面积//重载tag_t
    30 {
    31     Session* theSession = Session::GetSession();
    32     Part* workPart(theSession->Parts()->Work());
    33     Part* displayPart(theSession->Parts()->Display());
    34     NXObject* nullNXObject(NULL);
    35     NXOpen::MeasureFaceBuilder* measureFaceBuilder1;
    36     measureFaceBuilder1 = workPart->MeasureManager()->CreateMeasureFaceBuilder(nullNXObject);
    37     std::vector<IParameterizedSurface*> objects1(1);
    38     objects1[0] = dynamic_cast<NXOpen::Face*>(NXObjectManager::Get(face));
    39     //NXOpen::Unit* unit1(dynamic_cast<NXOpen::Unit*>(workPart->UnitCollection()->FindObject("SquareMilliMeter")));
    40     //NXOpen::Unit* unit2(dynamic_cast<NXOpen::Unit*>(workPart->UnitCollection()->FindObject("MilliMeter")));
    41     MeasureFaces* measureFaces1;
    42     measureFaces1 = workPart->MeasureManager()->NewFaceProperties(NULL, NULL, 0.9999, objects1);
    43     measureFaceBuilder1->Commit();
    44     ///measureFaceBuilder1->FaceObjects()->Clear();
    45     measureFaceBuilder1->Destroy();
    46     theSession->CleanUpFacetedFacesAndEdges();
    47     double areaValue = measureFaces1->Area();
    48     return areaValue;
    49 }
  • 相关阅读:
    非科班学习路线
    非科班秋招面试总结
    招银网络Java面经
    派分糖果
    修改CentOS7网卡名称为传统名称eth0格式
    浅谈$* 和$@的区别
    Cobbler无人值守安装
    使用kickstart + pxe 部署无人值守安装
    CentOS 7 忘记root密码解决方法
    linux系统开机流程详解
  • 原文地址:https://www.cnblogs.com/liuxiaoqing1/p/13678741.html
Copyright © 2011-2022 走看看