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 Part :: * displayPart NXOpen (theSession-> Parts () -> Display ()); 30 31 is // selected control surface 32 PropertyList FaceSelectProps * = face_select0-> GetProperties (); 33 is STD :: Vector <TaggedObject NXOpen :: * > = FaceSelectProps- faces> GetTaggedObjectVector ( " selectedObjects " ); 34 is Delete FaceSelectProps; 35 FaceSelectProps = NULL; 36 37 [ tag_t FaceTag = faces [ 0 ] -> the Tag (); 38 is 39 // surface provided on a selected color 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();
NX secondary development -NXOPEN find tangent plane method ScRuleFactory () -> CreateRuleFaceTangent
Guess you like
Origin www.cnblogs.com/nxopen2018/p/11069949.html
Recommended
Ranking