ug二次开发 vb.net UG8.5 用规则来得到面

    Function GetFaceDiameter()

        Dim workPart As Part = theSession.Parts.Work

        Dim nullFeatures_AdmResizeFace As Features.AdmResizeFace = Nothing

        Dim admResizeFaceBuilder1 As Features.AdmResizeFaceBuilder
        admResizeFaceBuilder1 = workPart.Features.CreateAdmResizeFaceBuilder(nullFeatures_AdmResizeFace)

        Dim face1 As Face = CType(NXOpen.Utilities.NXObjectManager.Get(face_select0.GetSelectedObjects(0).Tag), Face) '从面选择框获得Face
        Dim faces1(0) As Face
        faces1(0) = face1

        Dim faceDumbRule1 As FaceDumbRule
        faceDumbRule1 = workPart.ScRuleFactory.CreateRuleFaceDumb(faces1)

        Dim rules2(0) As SelectionIntentRule

        rules2(0) = faceDumbRule1

        admResizeFaceBuilder1.FaceToResize.FaceCollector.ReplaceRules(rules2, False)

        admResizeFaceBuilder1.FaceToResize.RecognizeEqualDiameter(True) '指定规则(相同半径)

        Dim objs = admResizeFaceBuilder1.FaceToResize.FaceCollector.GetObjects()

        face_select0.SetSelectedObjects(objs) '把相同半径的圆面赋给选择框

    End Function

 

posted @ 2022-03-25 15:12  KingMAX(没事杀杀毒)  阅读(330)  评论(0)    收藏  举报