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. jsp service bean

    //在jsp中使用后台service中方法需要在jsp页面引入service bean 1 <%@page import="com..entity.Users"%> & ...

  2. Debug - SpringBoot - Error starting ApplicationContext. To display the auto-configuration report re-runyour application

    Error log 2019-12-07 22:33:03.959 ERROR 3760 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ** ...

  3. 多媒体查询 @media 报错

    You may not @extend an outer selector from within @media.You may only @extend selectors within the s ...

  4. Angularjs 1.3在页面中输出带Html标记的文本

    如何Angularjs1.3在页面中输出带Html标记的文本 基于安全考虑,Angularjs不允许用ng-bind或者{{}}的方法输出html文本. 在实际的应用中,比如信息管理系统,用在线编辑器 ...

  5. centos7下命令行配置nginx

    本教程中的步骤要求用户拥有root权限 第一步 - 添加Nginx存储库要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令: sudo yum install epel-release第二 ...

  6. centos7 安装telent和telnet-server

    安装centos7 无telnet命令 先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: rpm -q telnet-server rpm -q ...

  7. Linux文件大小 指令&编程

    在工作和日常的编程中时常需要确定文件的大小,一些基本的查看方式在此做一个总结. 一. linux shell环境下 df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.    ...

  8. 非JAVA客户端与mina使用 PrefixedStringCodecFactory 通讯

    与C++,C#不同,java的写入字节顺序是从高到低(左低到右高) 例如 内存数据:{ 0x67,0x45,0x23,0x01} ,java int值是:0x6745231  而C++是:0x1234 ...

  9. java程序中线程cpu使用率计算

    原文地址:https://www.imooc.com/article/27374 最近确实遇到题目上的刚需,也是花了一段时间来思考这个问题. cpu使用率如何计算 计算使用率在上学那会就经常算,不过往 ...

  10. react-loadable路由懒加载

    load.js import Loadable from 'react-loadable'; import './styles/load.styl' // 按需加载组件 export default ...