NX二次开发-NXOPEN找相切面方法ScRuleFactory()->CreateRuleFaceTangent

 1 #include <uf_defs.h>
 2 #include <uf_ui_types.h>
 3 #include <iostream>
 4 #include <NXOpen/Session.hxx>
 5 #include <NXOpen/UI.hxx>
 6 #include <NXOpen/NXMessageBox.hxx>
 7 #include <NXOpen/Callback.hxx>
 8 #include <NXOpen/NXException.hxx>
 9 #include <NXOpen/BlockStyler_UIBlock.hxx>
10 #include <NXOpen/BlockStyler_BlockDialog.hxx>
11 #include <NXOpen/BlockStyler_PropertyList.hxx>
12 #include <NXOpen/BlockStyler_Group.hxx>
13 #include <NXOpen/BlockStyler_FaceCollector.hxx>
14 #include <uf.h>
15 #include <uf_obj.h>
16 #include <NXOpen/NXObjectManager.hxx>
17 #include <NXOpen/PartCollection.hxx>
18 #include <NXOpen/Face.hxx>
19 #include <NXOpen/FaceTangentRule.hxx>
20 #include <NXOpen/ScCollectorCollection.hxx>
21 #include <NXOpen/ScRuleFactory.hxx>
22
23
24         UF_initialize();
25
26         //NXOPEN初始化
27         NXOpen::Session *theSession = NXOpen::Session::GetSession();
28         NXOpen::Part *workPart(theSession->Parts()->Work());
29         NXOpen::Part *displayPart(theSession->Parts()->Display());
30
31         //选择面控件
32         PropertyList* FaceSelectProps = face_select0->GetProperties();
33         std::vector<NXOpen::TaggedObject*> faces = FaceSelectProps->GetTaggedObjectVector("SelectedObjects");
34         delete FaceSelectProps;
35         FaceSelectProps = NULL;
36
37         tag_t FaceTag = faces[0]->Tag();
38
39         //对选中的面设置颜色
40         UF_OBJ_set_color(FaceTag, 186);
41
42         //给入一个面
43         NXOpen::Face *face1(dynamic_cast<NXOpen::Face *>(NXOpen::NXObjectManager::Get(FaceTag)));
44
45         //使用NXOPEN相切面规则
46         std::vector<NXOpen::Face *> boundaryFaces1(0);
47         NXOpen::FaceTangentRule *faceTangentRule1;
48         faceTangentRule1 = workPart->ScRuleFactory()->CreateRuleFaceTangent(face1, boundaryFaces1, 0.050000000000000003);
49         std::vector<NXOpen::SelectionIntentRule *> rules1(1);
50         rules1[0] = faceTangentRule1;
51
52         NXOpen::ScCollector* scCollector1 = workPart->ScCollectors()->CreateCollector();
53         scCollector1->ReplaceRules(rules1, false);
54
55         std::vector<NXOpen::TaggedObject*> BB = scCollector1->GetObjects();
56         for (int i = 0; i < BB.size(); i++)
57         {
58             UF_OBJ_set_color(BB[i]->Tag(), 1);
59         }
60
61         UF_terminate();

原文地址:https://www.cnblogs.com/nxopen2018/p/11069949.html

时间: 2024-10-16 12:39:02

NX二次开发-NXOPEN找相切面方法ScRuleFactory()->CreateRuleFaceTangent的相关文章

NX二次开发-NXOPEN自动切换到工程图模块

UFUN的API里是没有切换到工程图的函数的,NXOPEN里是有方法可以用的.不过应该是不支持NX9以下的版本. NX9的不能录制出来,在UI类里有方法 1 NX9+VS2012 2 3 #include <uf.h> 4 #include <NXOpen/UI.hxx> 5 #include <NXOpen/MenuBar_MenuBarManager.hxx> 6 7 8 9 NXOpen::UI *theUI = NXOpen::UI::GetUI(); 10 1

NX二次开发-NXOPEN更改工程图视图名字baseView1-&gt;SetName(&quot;LSY&quot;);

1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_draw.h> 5 #include <uf_obj.h> 6 #include <uf_part.h> 7 8 UF_initialize(); 9 10 //新建工程图(A4图纸) 11 char* DrawingName = "Sheet1";//设置图纸名字 12 UF_DRAW_info_t DrawingInfo;//设置图纸大小.

NX二次开发-NXOpen获取边的端点NXOpen::Edge::GetVertices

1 NX9+VS2012 2 3 #include <NXOpen/Features_BlockFeatureBuilder.hxx> 4 #include <NXOpen/Features_FeatureCollection.hxx> 5 #include <NXOpen/NXException.hxx> 6 #include <NXOpen/Body.hxx> 7 #include <NXOpen/BodyCollection.hxx> 8

NX二次开发-NXopen录制:导入IGS

// Created by: Tag_jiang // Language: C++ // Version: NX 10 // Date: 12-24-2019 // Time: 9:00 //头文件 #include <NXOpen/DexBuilder.hxx> #include <NXOpen/DexManager.hxx> #include <NXOpen/NXObject.hxx> #include <NXOpen/ObjectTypeSelector.h

NX二次开发-NXOPEN工程图导出CAD图纸DxfdwgCreator *dxfdwgCreator1;

没有什么可以看的,NXOPEN直接录制一下导出CAD就可以了.录制出来自己挑需要的代码拿过来改一下. 1 NX9+VS2012 2 3 4 #include <NXOpen/Part.hxx> 5 #include <NXOpen/PartCollection.hxx> 6 #include <NXOpen/Session.hxx> 7 #include <NXOpen/DxfdwgCreator.hxx> 8 #include <NXOpen/Dex

NX二次开发-NXOpen读取工程图注释note1-&gt;GetText();

1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_drf.h> 5 #include <NXOpen/Annotations_Note.hxx> 6 #include <NXOpen/NXObjectManager.hxx> 7 8 9 UF_initialize(); 10 11 //创建注释 12 char* TextString[] = {"Caesar卢尚宇"}; 13 double

NX二次开发-NXOPEN创建工程图表格Annotations::TableSectionBuilder *tableSectionBuilder1;

1 NX9+VS2012 2 3 4 #include <uf.h> 5 #include <uf_tabnot.h> 6 #include <NXOpen/Part.hxx> 7 #include <NXOpen/PartCollection.hxx> 8 #include <NXOpen/Session.hxx> 9 #include <NXOpen/Annotations_TableSectionCollection.hxx>

NX二次开发-NXOPEN将工程图转成PDF文件

1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_draw.h> 5 #include <NXOpen/PrintPDFBuilder.hxx> 6 #include <NXOpen/Drawings_DrawingSheet.hxx> 7 #include <NXOpen/NXObjectManager.hxx> 8 #include <NXOpen/PlotManager.hxx> 9

NX二次开发-NXOpen中Point3d类型转换成point类型

1 NX9+VS2012 2 3 #include <NXOpen/NXObject.hxx> 4 #include <NXOpen/Part.hxx> 5 #include <NXOpen/PartCollection.hxx> 6 #include <NXOpen/Point.hxx> 7 #include <NXOpen/PointCollection.hxx> 8 9 NXOpen::Session *theSession = NXOpe