Code:
NXOpen.Session.UndoMarkId mark = session.TheSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Create Section"); NXOpen.Display.DynamicSection nullDisplay_DynamicSection = null;
NXOpen.Display.DynamicSectionBuilder dynamicSectionBuilder;
dynamicSectionBuilder = session.WorkPart.DynamicSections.CreateSectionBuilder(nullDisplay_DynamicSection, session.WorkPart.ModelingViews.WorkView);
Point3d origin = new Point3d(0.0, 0.0, 0.0);
Vector3d normal = new Vector3d(0.0, 0.0, 1.0);
Plane plane = session.WorkPart.Planes.CreatePlane(origin, normal, NXOpen.SmartObject.UpdateOption.AfterModeling);
plane.SetMethod(NXOpen.PlaneTypes.MethodType.Coincident);
NXOpen.Section section = session.WorkPart.Sections.CreateSection(0.02413, 0.0254, 0.5);
Unit unit = (Unit)session.WorkPart.UnitCollection.FindObject("MilliMeter");
Expression expression = session.WorkPart.Expressions.CreateSystemExpressionWithUnits("0", unit);
dynamicSectionBuilder.ShowClip = true;
dynamicSectionBuilder.CsysType = NXOpen.Display.DynamicSectionTypes.CoordinateSystem.Absolute;
Point3d origin1 = new Point3d(0.0, 0.0, 0.0);
dynamicSectionBuilder.SetOrigin(origin1);
dynamicSectionBuilder.SaveCurves("Section");
dynamicSectionBuilder.RestoreView();
dynamicSectionBuilder.Destroy();
section.Destroy();
session.WorkPart.Expressions.Delete(expression);
session.WorkPart.FacetedBodies.DeleteTemporaryFacesAndEdges();
plane.DestroyPlane();
Tag groupTag = Tag.Null;
do
{
session.TheUFSession.Obj.CycleObjsInPart(session.WorkPart.Tag, NXOpen.UF.UFConstants.UF_group_type, ref groupTag);
if (groupTag != null)
{
Group group = (Group)NXOpen.Utilities.NXObjectManager.Get(groupTag);
GroupBuilder groupBuilder = session.WorkPart.CreateGatewayGroupBuilder(group);
session.LogListingWindowWrite(group.Name.ToString());
TaggedObject[] members = groupBuilder.ObjectsInGroup.GetArray();
if (members != null)
{
for (int i = 0; i < members.Length; i++)
{ session.LogListingWindowWrite("Member " + members[i].ToString()); }
}
groupBuilder.Destroy();
}
} while (groupTag != Tag.Null);