UG二次开发 偏执面(C#)


 1      public static void creatOffsetFaceBuilder(NXOpen.Face[] faces1 ,double dis)
 2         {
 3             NXOpen.Session theSession = NXOpen.Session.GetSession();
 4             NXOpen.Part workPart = theSession.Parts.Work;
 5             NXOpen.Part displayPart = theSession.Parts.Display;
 6              8             NXOpen.Features.OffsetFaceBuilder offsetFaceBuilder1;
 9             offsetFaceBuilder1 = workPart.Features.CreateOffsetFaceBuilder(null);
10             offsetFaceBuilder1.Distance.SetFormula(dis.ToString());
11             NXOpen.SelectionIntentRule[] rule1 = new NXOpen.SelectionIntentRule[0];
12             foreach (Face s in faces1)
13             {
14                 NXOpen.Face[] boundaryFaces1 = new NXOpen.Face[0];
15                 NXOpen.FaceTangentRule faceTangentRule1;
16                 faceTangentRule1 = workPart.ScRuleFactory.CreateRuleFaceTangent(s, boundaryFaces1, 0.050000000000000003);
17                 Array.Resize(ref rule1, rule1.Length + 1);
18                 rule1[rule1.Length - 1] = faceTangentRule1;
19             }
20             offsetFaceBuilder1.FaceCollector.ReplaceRules(rule1, false);
21             NXOpen.NXObject nXObject1;
22             nXObject1 = offsetFaceBuilder1.Commit();
23             offsetFaceBuilder1.Destroy();
24         }