> CreateRuleFaceTangent - NX二次開発は、接平面法ScRuleFactory()を見つける-NXOPEN

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 ::セッション* theSession = NXOpen ::セッション::のgetSession();
28          NXOpen ::パート* workPart(theSession->パーツ() - > ワーク());
         一部:: * displayPart NXOpen(theSession->パーツ() - > ディスプレイ());
 30  
31れる         // 選択された制御面
32件          のpropertylist FaceSelectProps * = face_select0-> GetPropertiesの();
 33である          STD ::ベクトル<TaggedObject NXOpen :: * > = FaceSelectProps-は> GetTaggedObjectVector(対向" selectedObjectsを" );
 34である         削除FaceSelectProps;
 35          = FaceSelectProps NULL;
 36  
37 [          tag_t FaceTag = [対向0 ] - > ()タグ;
 38である 
39          // 選択された色に設けられた表面
40          UF_OBJ_set_color( FaceTag、186 );
41  
42          // 给入一个面
43          NXOpen ::フェイス*のface1(dynamic_castの<NXOpen ::フェイス*> (NXOpen :: NXObjectManager ::取得(FaceTag)));
44  
45          // 使用NXOPEN相切面规则
46          のstd ::ベクトル<NXOpen ::フェイス*> boundaryFaces1(0 )。
47          NXOpen :: FaceTangentRule * faceTangentRule1。
48          faceTangentRule1 = workPart-> ScRuleFactory() - > CreateRuleFaceTangent(face1、boundaryFaces1、0.050000000000000003 )。
49          のstd ::ベクトル<NXOpen :: SelectionIntentRule *> rules1(1 );
50          rules1 [0 ] = faceTangentRule1。
51  
52          NXOpen :: ScCollector * scCollector1 = workPart-> ScCollectors() - > CreateCollector();
53          scCollector1-> ReplaceRules(rules1、)。
54  
55          のstd ::ベクトル<NXOpen :: TaggedObject *> BB = scCollector1-> GetObjects();
56          のためにint型 I = 0 ; iが<BB.size(); iが++ 57          {
 58              UF_OBJ_set_color(BBを[I] - >タグ()、1 )。
59          }
 60  
61          UF_terminate()。

おすすめ

転載: www.cnblogs.com/nxopen2018/p/11069949.html