在ug中如何使用删除功能,将圆角选中进行删除就是今天要讲的内容。开发逻辑是这样的,首先设计一个界面,界面上有一个面选择器用来选取圆角面。然后在设计一个按钮,再点删除按钮的时候实现对圆角面的删除。
设计界面还是使用块ui编辑器进行设计,界面如图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/03ba93f7af5c15549c58615d45598186.png)
删除圆角面的相应代码如下所示:
TaggedObject[] taggedObjects = face_select0.GetSelectedObjects();
Tag bb = taggedObjects[0].Tag;
NXOpen.Part workPart = theSession.Parts.Work;
NXOpen.Features.Feature nullNXOpen_Features_Feature = null;
NXOpen.Features.DeleteFaceBuilder deleteFaceBuilder1;
deleteFaceBuilder1 = workPart.Features.CreateDeleteFaceBuilder(nullNXOpen_Features_Feature);
NXOpen.Point3d origin1 = new NXOpen.Point3d(0.0, 0.0, 0.0);
NXOpen.Vector3d normal1 = new NXOpen.Vector3d(0.0, 0.0, 1.0);
NXOpen.Plane plane1;
plane1 = workPart.Planes.CreatePlane(origin1, normal1, NXOpen.SmartObject.UpdateOption.WithinModeling);
deleteFaceBuilder1.CapPlane = plane1;
NXOpen.Unit unit1;
unit1 = deleteFaceBuilder1.MaxHoleDiameter.Units;
NXOpen.Plane nullNXOpen_Plane = null;
deleteFaceBuilder1.CapPlane = nullNXOpen_Plane;
deleteFaceBuilder1.Type = NXOpen.Features.DeleteFaceBuilder.SelectTypes.FaceEdgeBlend;
//deleteFaceBuilder1.MaxBlendRadius.SetFormula(string0.Value);
Tag tag1;
theUfSession.Modl.AskFaceBody(bb, out tag1);
NXOpen.Body body1 = ((NXOpen.Body)NXObjectManager.Get(tag1));
NXOpen.FaceAllBlendRule faceAllBlendRule1;
faceAllBlendRule1 = workPart.ScRuleFactory.CreateRuleFaceAllBlend(body1, nullNXOpen_Features_Feature);
NXOpen.SelectionIntentRule[] rules1 = new NXOpen.SelectionIntentRule[1];
rules1[0] = faceAllBlendRule1;
deleteFaceBuilder1.FaceCollector.ReplaceRules(rules1, false);
NXOpen.NXObject nXObject1;
nXObject1 = deleteFaceBuilder1.Commit();
deleteFaceBuilder1.Destroy();
程序运行之前如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/f42d4fa9536397fa1042d75bc7cfc37b.png)
程序运行之后的效果: