zoukankan      html  css  js  c++  java
  • NXOpen 通过迭代器获取工作部件的体、面、边、点

    C++ 2010

    //用户代码

     theSession->ListingWindow()->Open();
     theSession->ListingWindow()->WriteLine("制作:Alan Huang QQ:185266370");

     std::vector<Edge *> edges; //边容器
     std::vector<Face *> faces; //面容器
     NXOpen::Point3d p1 ,p2; //边的两端点
     double len; //边长
     char msg [256];

     BodyCollection *bodys = workPart->Bodies();
     for (BodyCollection::iterator ite = bodys->begin();ite !=bodys->end();ite++)
     {
      Body *body=(*ite);
      sprintf ( msg , "实体TAG:%d",body->Tag());
      theSession->ListingWindow()->WriteLine( msg);
      edges = body->GetEdges() ; //获取实体的所有边
      faces = body->GetFaces(); //获取实体的所有面

     }

     for ( int i = 0 ; i < faces.size();i++)
     {
      sprintf ( msg , "面TAG:%d",faces[i]->Tag());
      theSession->ListingWindow()->WriteLine( msg);
     }

     for ( int i = 0 ; i < edges.size();i++)
     {
      Edge *edge = edges[i];
      sprintf ( msg , "边TAG:%d",edges[i]->Tag());
      theSession->ListingWindow()->WriteLine( msg);
      len = edge->GetLength(); //获取边长
      sprintf ( msg , "边的长度:%.2f",len);
      theSession->ListingWindow()->WriteLine( msg);
      edge->GetVertices(&p1,&p2); //获取边的两个端点
      sprintf ( msg , "端点P1:%.2f %.2f %.2f 端点P2:%.2f %.2f %.2f",p1.X,p1.Y,p1.Z,p2.X,p2.Y,p2.Z);
      theSession->ListingWindow()->WriteLine( msg);
     }

    怡宁塑胶模具设计
  • 相关阅读:
    通过json动态创建控制器
    记一次bug解决!改变思路解决问题的同时,还需要弄明白是什么原因。
    __proto__,prototype,constructor
    事件:compositionstart & compositionend,解决oninput获取到拼音的问题。
    事件绑定----阻止冒泡失效
    预装的win10系统如何恢复
    rem.js
    vscode 使用 github仓库
    nginx使用
    伸缩盒
  • 原文地址:https://www.cnblogs.com/hqsalanhuang/p/14428322.html
Copyright © 2011-2022 走看看