【NX二次开发】判断面的凹凸、圆柱还是孔、外R角还是内R角。三种方案

判断面的凹凸,圆柱面是圆柱还是孔,外R角还是内R角?

 

 

 

方案:

1.UF_MODL_ask_face_min_radii(如果你写出了例子,请在下方留言)

2.UF_MODL_ask_face_data

输入:面tag,输出:是否圆柱面
返回:true 正确判断,false 不是圆柱面
bool checkIsOutCylinder(tag_t faceTag,int*status)
{
        *status=0;
        if(faceTag==NULL_TAG)return false;
        int  type;
        double point [3 ] ,//轴上点
                dir [3 ] ,
                box [6 ] ,
                radius,
                rad_data;
        int  norm_dir ;//1=外R,-1=内R
        UF_MODL_ask_face_data(faceTag,&type,point,dir,box,&radius,&rad_data,&norm_dir);
        if (type!=16)return false;
        if (norm_dir==1)
        {*status=1;
        }
        else
        {*status=0;
        }
        return true;
}

3.PK_FACE_ask_oriented_surf

//是否孔(内面)
BOOL PK_IsHole(PK_FACE_t pkFace)
{
    PK_SURF_t    surf;
    PK_LOGICAL_t orientation = PK_LOGICAL_true;

    if(PK_ENTITY_null == pkFace)
        return FALSE;
    PK_FACE_ask_oriented_surf(pkFace, &surf, &orientation);
    if (orientation == PK_LOGICAL_false)
        return TRUE;
    return FALSE;
}

 

posted @ 2022-06-30 10:56  王牌飞行员_里海  阅读(313)  评论(0编辑  收藏  举报