体的最小包容体用途很多,能将一个复杂的实体简化成一个长方体
/// <summary>
/// 创建体的最小包容块block
/// </summary>
/// <param name="bodyObj">body对象</param>
/// <returns></returns>
public static NXObject CreateMinBlock(Body bodyObj)
{
Session theSession = Session.GetSession();
Part workPart = theSession.Parts.Work;
NXObject nXObject1 = null;
NXObject nullNXObject = null;
NXOpen.Tooling.CreateBoxBuilder createBoxBuilder1 = workPart.ToolingManager.CreateBox.CreateBoxBuilder(nullNXObject);
createBoxBuilder1.Type = NXOpen.Tooling.CreateBoxBuilder.BoxType.Bounding;
createBoxBuilder1.Clearance.RightHandSide = "0";
createBoxBuilder1.OffsetPositiveX.RightHandSide = "0";
createBoxBuilder1.OffsetNegativeX.RightHandSide = "0";
createBoxBuilder1.OffsetPositiveY.RightHandSide = "0";
createBoxBuilder1.OffsetNegativeY.RightHandSide = "0";
createBoxBuilder1.OffsetPositiveZ.RightHandSide = "0";
createBoxBuilder1.OffsetNegativeZ.RightHandSide = "0";
FaceFeatureRule faceFeatureRule1 = workPart.ScRuleFactory.CreateRuleFaceFeature(bodyObj.GetFeatures());
SelectionIntentRule[] rules1 = new SelectionIntentRule[1];
rules1[0] = faceFeatureRule1;
createBoxBuilder1.Objects.ReplaceRules(rules1, false);
NXObject[] deselections1 = new NXObject[0];
createBoxBuilder1.SetSelectedOccs(bodyObj.GetFaces(), deselections1);
nXObject1 = createBoxBuilder1.Commit();
createBoxBuilder1.Destroy();
return nXObject1;
}