NX二次开发Block UI 选择对象

Posted kmould

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); 

 

以上是关于NX二次开发Block UI 选择对象的主要内容,如果未能解决你的问题,请参考以下文章

NX二次开发(C#)-UIStyler-获取UI选择对象

NX二次开发Block UI 线性尺寸

NX二次开发Block UI 面收集器

NX二次开发-Block UI C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用

NX二次开发-Block UI C++界面Specify Point(指定点)控件的获取(持续补充)

NX二次开发(C#)-UI Styler-选择对象TaggedObject转换为BodyFace等对象