【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; }