1. 程式人生 > 實用技巧 >【NX二次開發】Block UI 選擇物件

【NX二次開發】Block UI 選擇物件

單選模式

selection0->GetProperties()->SetEnum("SelectMode",0);
自動推進到下一個
selection0->GetProperties()->SetLogical("AutomaticProgression",true);

物件選擇過濾 只能選表面

1 std::vector< NXOpen::Selection::MaskTriple > maskTriple;
2 Selection::MaskTriple mask1(UF_face_type,0,0);
3 maskTriple.push_back(mask1);
4 selection0->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionAction::SelectionActionEnableSpecific ,maskTriple);

獲取控制元件選擇的物件轉為tag_t型別

1 tag_t tagUnderFace=0;
2 std::vector<TaggedObject*>objects=this->selection0->GetProperties()->GetTaggedObjectVector("
SelectedObjects"); 3 for ( int i=0;i<objects.size();i++) 4 { 5   tagUnderFace=objects[i]->Tag(); 6 }

設定控制元件選擇的物件。清空選擇

1 vector< NXOpen::TaggedObject * > objectVector;
2 objectVector.clear();
3 this->selection0->SetSelectedObjects(objectVector);

設定控制元件隱藏

this->selection0->SetShow(false
);

selection0->AddFilter(UF_component_type,0,0);