NXOpen创建偏置曲面函数

   /// <summary>
        /// 创建偏置曲面
        /// </summary>
        /// <param name="orgin_face">原曲面</param>
        /// <param name="offset_distance">偏置距离</param>
        /// <param name="reverse_direction">偏置方向</param>
        /// <param name="offset_face">创建的偏置曲面</param>
        public void OffsetFace(Face orgin_face, double offset_distance, bool reverse_direction, out Body offset_face)
        {
            NXOpen.Features.OffsetFaceBuilder offsetFaceBuilder1;
            offsetFaceBuilder1 = workPart.Features.CreateOffsetFaceBuilder(null);

            Face face1 = orgin_face;
            Face[] boundaryFaces1 = new Face[0];
            FaceTangentRule faceTangentRule1;
            faceTangentRule1 = workPart.ScRuleFactory.CreateRuleFaceTangent(face1, boundaryFaces1);

            SelectionIntentRule[] rules1 = new SelectionIntentRule[1];
            rules1[0] = faceTangentRule1;
            offsetFaceBuilder1.FaceCollector.ReplaceRules(rules1, false);

            offsetFaceBuilder1.Distance.RightHandSide = offset_distance.ToString();

            offsetFaceBuilder1.Direction = reverse_direction;

            offset_face = ((OffsetFace)offsetFaceBuilder1.Commit()).GetBodies()[0];

            offsetFaceBuilder1.Destroy();
        }

posted @ 2012-08-02 15:56  yyFisheep  阅读(949)  评论(0)    收藏  举报