NX9+VS2012

     #include <NXOpen/Features_BlockFeatureBuilder.hxx>
#include <NXOpen/Features_FeatureCollection.hxx>
#include <NXOpen/NXException.hxx>
#include <NXOpen/Body.hxx>
#include <NXOpen/BodyCollection.hxx>
#include <NXOpen/PartCollection.hxx>
#include <NXOpen/Edge.hxx>
#include <NXOpen/ListingWindow.hxx>
#include <NXOpen/NXObjectManager.hxx>
#include <NXopen/UI.hxx>
#include <NXOpen/DisplayManager.hxx> using namespace NXOpen; NXOpen::Session *theSession = NXOpen::Session::GetSession();
NXOpen::Part *workPart(theSession->Parts()->Work());
NXOpen::Part *displayPart(theSession->Parts()->Display()); ListingWindow *lw;
lw = theSession->ListingWindow(); //NXOpen方式创建块
NXOpen::Features::Feature *nullNXOpen_Features_Feature(NULL);
NXOpen::Features::BlockFeatureBuilder *blockFeatureBuilder1;
blockFeatureBuilder1 = workPart->Features()->CreateBlockFeatureBuilder(nullNXOpen_Features_Feature); std::vector<NXOpen::Body *> targetBodies1();
NXOpen::Body *nullNXOpen_Body(NULL);
targetBodies1[] = nullNXOpen_Body;
blockFeatureBuilder1->BooleanOption()->SetTargetBodies(targetBodies1); blockFeatureBuilder1->SetType(NXOpen::Features::BlockFeatureBuilder::TypesOriginAndEdgeLengths);//设置创建类型 NXOpen::Point3d originPoint1(120.0, 103.0, 154.0);
blockFeatureBuilder1->SetOriginAndLengths(originPoint1, "", "", "");//设置原点 blockFeatureBuilder1->SetBooleanOperationAndTarget(NXOpen::Features::Feature::BooleanTypeCreate, nullNXOpen_Body);//设置布尔 NXOpen::Features::Feature *feature1;
feature1 = blockFeatureBuilder1->CommitFeature(); //NXOpen方式设置颜色
NXOpen::DisplayModification *displayModification1;
displayModification1 = theSession->DisplayManager()->NewDisplayModification(); displayModification1->SetNewColor();//设置颜色 std::vector<NXOpen::DisplayableObject *> objects1();
NXOpen::Body *body1(dynamic_cast<NXOpen::Body *>(workPart->Bodies()->FindObject(feature1->JournalIdentifier())));
objects1[] = body1;
displayModification1->Apply(objects1); //NXOpen特征获取体
NXOpen::Body *MyBody(dynamic_cast<NXOpen::Body *>(workPart->Bodies()->FindObject(feature1->JournalIdentifier()))); //NXOpen体获取边
std::vector<NXOpen::Edge*> MyEdge = MyBody->GetEdges(); char msg1[];
char msg2[];
sprintf_s(msg1, "当前体有%d条边\n每条边的两个端点如下:\n", MyEdge.size());//转换 //打印
lw->Open();
lw->WriteLine(msg1); for (int i = ; i < MyEdge.size(); i++)
{
MyEdge[i]->Highlight();//高亮所有边
NXOpen::Point3d Vertex1[];//端点1
NXOpen::Point3d Vertex2[];//端点2
MyEdge[i]->GetVertices(Vertex1, Vertex2);//由边获取端点 sprintf_s(msg2, "X坐标:%.0f, Y坐标:%.0f, Z坐标:%.0f\nX坐标:%.0f, Y坐标:%.0f, Z坐标:%.0f\n", Vertex1->X, Vertex1->Y, Vertex1->Z, Vertex2->X, Vertex2->Y, Vertex2->Z);//转换
lw->WriteLine(msg2);//打印
}

NX二次开发-NXOpen获取边的端点NXOpen::Edge::GetVertices的更多相关文章

  1. NX二次开发-UFUN获取边的端点UF_MODL_ask_edge_verts

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> #include <uf ...

  2. NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  3. NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  4. 【NX二次开发】获取当前鼠标选择的对象 UF_UI_ask_global_sel_object_list

    先选择多个对象object,然后使用此函数获取选择的对象的tag,最后就可以使用object的一些函数了. ufun例子: extern DllExport void ufusr(char *parm ...

  5. 【NX二次开发】获取指定矩阵标识的矩阵值

    函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...

  6. 【NX二次开发】 获取产品曲面上多个点对应的面的垂直矢量!

    说明:选择一个产品面,选择面上的点,生成点在此面上的法线反向,生成直线.生成矢量的起点坐标,和矢量方向信息.可用于三坐标测量,如果需要可以自己编个插件用! 效果图: 源码: //----------- ...

  7. NX二次开发-UFUN获取系统相关信息UF_ask_system_info

    NX9+VS2012 #include <uf.h> UF_initialize(); UF_system_info_t Info; UF_ask_system_info(&Inf ...

  8. NX二次开发-UFUN获取面的内外边界UF_MODL_ask_loop_list_item

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <NXOpen/Face.hxx> #inclu ...

  9. NX二次开发-UFUN获取当前所在的模块UF_ask_application_module

    NX9+VS2012 #include <uf.h> #include <NXOpen/UI.hxx> #include <NXOpen/MenuBar_MenuBarM ...

随机推荐

  1. 75. InputStreamReader和OutputStreamWriter(转换流--字节流转换成字符流)

    转换流: InputStreamReader   输入字节流转换成输入字符流OutputStreamWriter  输出字节流转换成输出字符流 总结:就是字节流转换成字符流,但是不能字节流转换成字节流 ...

  2. Linux直接在通过终端打开图片文件

    为了提高效率,减少使用鼠标,有时候想直接通过终端的命令打开一个图片进行查看.可以使用的命令有: eog filename display filename 再使用Alt+F4就可以关闭窗口,尽量达到手 ...

  3. web框架express学习一

    服务端 node app.jsapp.jslet express = require("express"); let http = require("http" ...

  4. SaaS上云工具包为企业应用构筑上云之梯

    导语:本文中,阿里云资深技术专家郑刚将聚焦SaaS上云工具包如何帮助企业上云,包括产品上云.商品上市.服务上心,讲述了SaaS上云工具包为客户和伙伴提供的价值.在SaaS上云工具包整体解决方案的帮助下 ...

  5. 关于“Unknown or unsupported command 'install'”问题解决的小结

    经常需要在COMMAND命令中安装第三方库,有时会碰到“Unknown or unsupported command 'install'”这种报错. 刚开始时,以为是环境变量里面没有配置:PYTHON ...

  6. 文件下载java代码

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  7. Java学习之classpath

    要运行class文件,必须在class文件所在的目录下,那么是不是也可以通过设置系统变量来配置呢,当然有了classpath就来了 环境变量配置有两种 1.一劳永逸的 2.set 临时变量 我们用临时 ...

  8. 20、Linux命令对服务器磁盘进行监控

    服务器磁盘性能测试也是一个比较有意思的过程.首先我们要弄清楚磁盘储存哪些内容,这里推荐鸟哥的私房菜  我们不仅要推算出磁盘什么时候被占满,也要监控磁盘的读写速度.也就是我们常说的 I/O df -h ...

  9. java.util.Arrays,java.lang.Math,java.lang.System 类的常用方法汇总

    java.util.Arrays类是数组的工具类,一般数组常用的方法包括 二分查找:public static int  binarySearch(array[],int key),返回key的下标i ...

  10. css过滤镜实现颜色渐变

    语法:filter : progid:DXImageTransform.Microsoft.Gradient ( enabled=bEnabled , startColorStr=iWidth , e ...