zoukankan      html  css  js  c++  java
  • NXOpen 测量最小距离,再利用C++ 排序

    头文件

    #include <algorithm>//比大小的头文件

    double distance;
    std::vector<double> measureValue;//测量的值(double型)

    for ( int i = 0 ; i < edges.size(); i ++ )
    {
    Edge *edge1 = edges[i];
    NXObject *nullNXObject(NULL);
    MeasureDistanceBuilder *measureDistanceBuilder1;
    measureDistanceBuilder1 = workPart->MeasureManager()->CreateMeasureDistanceBuilder(nullNXObject);

    measureDistanceBuilder1->SetMtype(MeasureDistanceBuilder::MeasureTypeMinimum);
    measureDistanceBuilder1->Object1()->SetValue(edge1);

    DatumPlane *datumPlane1(dynamic_cast<DatumPlane *>(workPart->Datums()->FindObject(datumPlanefeature1->JournalIdentifier())));
    measureDistanceBuilder1->Object2()->SetValue(datumPlane1);

    Unit *unit1(dynamic_cast<Unit *>(workPart->UnitCollection()->FindObject("MilliMeter")));
    MeasureDistance *measureDistance1;
    measureDistance1 = workPart->MeasureManager()->NewDistance(unit1, MeasureManager::MeasureTypeMinimum, edge1, datumPlane1);

    Measure *measure1;
    measure1 = measureDistance1->CreateFeature();

    distance = measureDistance1->Value();//获取测量的值
    if ( distance > 0 )
    {
    measureValue.push_back(distance);//获取的值塞到容器
    }
    measureDistanceBuilder1->Destroy();

    }

    sort(measureValue.begin(),measureValue.end());//排序,从小到大排

    reverse(measureValue.begin(),measureValue.end());//reverse函数功能是逆序(或反转)

    char msgmeasureValue[256];
    for ( int i = 0 ; i < measureValue.size(); i ++ )
    {
    sprintf(msgmeasureValue, "边的距离:%.2f",measureValue[i]);
    theSession->ListingWindow()->WriteLine( msgmeasureValue);
    }

    怡宁塑胶模具设计
  • 相关阅读:
    昆虫洞
    湖南一师大酒店
    三、CentOS 7.X系统安装配置超祥细图解教程
    二、Centos7—U盘启动盘制作
    一、VMware Workstation 15中文破解版 下载与安装(附密钥)
    三、Pycharm2019.3.3的安装
    二、Python2.7的安装并与Python3.8共存
    一、Python3.8的安装
    一、华为模拟器eNSP下载与安装教程
    关于c#的一些笔记
  • 原文地址:https://www.cnblogs.com/hqsalanhuang/p/14529670.html
Copyright © 2011-2022 走看看