NX二次开发-选择对象控件设置过滤

在dialogShown_cb()回调函数下设置。

//过滤选择点
void CreateHoleMachGui::dialogShown_cb()
{
    try
    {
        //---- Enter your callback code here -----
        vector< NXOpen::Selection::MaskTriple > maskTriple;
        Selection::MaskTriple mask1(UF_point_type, 0, 0);//UF_point_type设置成你想要的对象类型,面:UF_face_type,边:UF_edge_type,等等
        maskTriple.push_back(mask1);
        mSelectionPoint->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionActionClearAndEnableSpecific, maskTriple);
    }
    catch(exception& ex)
    {
        //---- Enter your exception handling code here -----
        CreateHoleMachGui::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
    }
}
//选择圆柱面
    vector< NXOpen::Selection::MaskTriple > maskTriple;
    Selection::MaskTriple mask1(UF_solid_type, UF_solid_face_subtype, UF_UI_SEL_FEATURE_CYLINDRICAL_FACE);//UF_UI_SEL_FEATURE_CYLINDRICAL_FACE控制选择体哪个子类型
    maskTriple.push_back(mask1);
    mSelectedPoint->GetProperties()->SetSelectionFilter("SelectionFilter", Selection::SelectionActionClearAndEnableSpecific, maskTriple);
posted @ 2020-10-22 13:43  YellowBoss  阅读(2623)  评论(0)    收藏  举报