NX二次开发-NXOpen获取边的端点NXOpen::Edge::GetVertices
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的更多相关文章
- NX二次开发-UFUN获取边的端点UF_MODL_ask_edge_verts
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> #include <uf ...
- NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- 【NX二次开发】获取当前鼠标选择的对象 UF_UI_ask_global_sel_object_list
先选择多个对象object,然后使用此函数获取选择的对象的tag,最后就可以使用object的一些函数了. ufun例子: extern DllExport void ufusr(char *parm ...
- 【NX二次开发】获取指定矩阵标识的矩阵值
函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...
- 【NX二次开发】 获取产品曲面上多个点对应的面的垂直矢量!
说明:选择一个产品面,选择面上的点,生成点在此面上的法线反向,生成直线.生成矢量的起点坐标,和矢量方向信息.可用于三坐标测量,如果需要可以自己编个插件用! 效果图: 源码: //----------- ...
- NX二次开发-UFUN获取系统相关信息UF_ask_system_info
NX9+VS2012 #include <uf.h> UF_initialize(); UF_system_info_t Info; UF_ask_system_info(&Inf ...
- NX二次开发-UFUN获取面的内外边界UF_MODL_ask_loop_list_item
NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <NXOpen/Face.hxx> #inclu ...
- NX二次开发-UFUN获取当前所在的模块UF_ask_application_module
NX9+VS2012 #include <uf.h> #include <NXOpen/UI.hxx> #include <NXOpen/MenuBar_MenuBarM ...
随机推荐
- jsp service bean
//在jsp中使用后台service中方法需要在jsp页面引入service bean 1 <%@page import="com..entity.Users"%> & ...
- 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 : ** ...
- 多媒体查询 @media 报错
You may not @extend an outer selector from within @media.You may only @extend selectors within the s ...
- Angularjs 1.3在页面中输出带Html标记的文本
如何Angularjs1.3在页面中输出带Html标记的文本 基于安全考虑,Angularjs不允许用ng-bind或者{{}}的方法输出html文本. 在实际的应用中,比如信息管理系统,用在线编辑器 ...
- centos7下命令行配置nginx
本教程中的步骤要求用户拥有root权限 第一步 - 添加Nginx存储库要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令: sudo yum install epel-release第二 ...
- centos7 安装telent和telnet-server
安装centos7 无telnet命令 先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: rpm -q telnet-server rpm -q ...
- Linux文件大小 指令&编程
在工作和日常的编程中时常需要确定文件的大小,一些基本的查看方式在此做一个总结. 一. linux shell环境下 df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. ...
- 非JAVA客户端与mina使用 PrefixedStringCodecFactory 通讯
与C++,C#不同,java的写入字节顺序是从高到低(左低到右高) 例如 内存数据:{ 0x67,0x45,0x23,0x01} ,java int值是:0x6745231 而C++是:0x1234 ...
- java程序中线程cpu使用率计算
原文地址:https://www.imooc.com/article/27374 最近确实遇到题目上的刚需,也是花了一段时间来思考这个问题. cpu使用率如何计算 计算使用率在上学那会就经常算,不过往 ...
- react-loadable路由懒加载
load.js import Loadable from 'react-loadable'; import './styles/load.styl' // 按需加载组件 export default ...