NXOPen中过滤属性的设置

来源:互联网 发布:关宁军 知乎 编辑:程序博客网 时间:2024/05/16 14:21

在NX二次开发的过程中,经常要过滤各种控件的类型,主要有三类:首先是type filter的设置,用于控制鼠标选中face、curve、sketch、solidbody、sheetbody等类型;其次是face rule的设置,即控制选中face的方式,有单个面、相切面、相邻面、面和相邻面等类型;与此类似第三个是curve rule。

一:Type Filter的设置

控件类型为select object,代码如下:
//设置select_sketch的过滤对象;
NXOpen::Selection::SelectionAction action1 = Selection::SelectionActionClearAndEnableSpecific;
std::vector<NXOpen::Selection::MaskTriple>sketch_selectionMask_array(1);
sketch_selectionMask_array[0].Type = UF_sketch_type;
sketch_selectionMask_array[0].Subtype = UF_v13_sketch_subtype;
this->slect_Sketch->GetProperties()->SetSelectionFilter("SelectionFilter", action1, sketch_selectionMask_array);

//设置select_body的过滤类型;
NXOpen::Selection::SelectionAction action2 = Selection::SelectionActionClearAndEnableSpecific;
std::vector<NXOpen::Selection::MaskTriple>body_selectionMask_array(1);
body_selectionMask_array[0].Type = UF_solid_type;
body_selectionMask_array[0].Subtype = UF_solid_body_subtype;
this->select_Body->GetProperties()->SetSelectionFilter("SelectionFilter", action2, body_selectionMask_array);

二:face rule的设置

控件类型为face collcetor:
this->singel_Face->SetFaceRules(0x1);
this->adjacent_Face->SetFaceRules(0x4001);

三:curve rule的设置

0 0