示例#1
0
 internal static Snap.NX.Cylinder CreateCylinder(Snap.NX.ICurve arc, Snap.Number height)
 {
     NXOpen.Features.CylinderBuilder featureBuilder = Globals.WorkPart.NXOpenPart.Features.CreateCylinderBuilder(null);
     featureBuilder.Type = NXOpen.Features.CylinderBuilder.Types.ArcAndHeight;
     featureBuilder.BooleanOption.Type   = BooleanOperation.BooleanType.Create;
     featureBuilder.Arc.Value            = arc.NXOpenICurve;
     featureBuilder.Height.RightHandSide = height.ToString();
     NXOpen.Features.Cylinder cylinder = (NXOpen.Features.Cylinder)Snap.NX.Feature.CommitFeature(featureBuilder);
     featureBuilder.Destroy();
     return(new Snap.NX.Cylinder(cylinder));
 }
示例#2
0
        internal static Snap.NX.Cylinder CreateCylinder(Position axisPoint, Vector axisVector, Snap.Number height, Snap.Number diameter)
        {
            NXOpen.Part workPart = (NXOpen.Part)Globals.WorkPart;
            NXOpen.Features.CylinderBuilder featureBuilder = workPart.Features.CreateCylinderBuilder(null);
            featureBuilder.Type = NXOpen.Features.CylinderBuilder.Types.AxisDiameterAndHeight;
            featureBuilder.BooleanOption.Type     = BooleanOperation.BooleanType.Create;
            featureBuilder.Diameter.RightHandSide = diameter.ToString();
            featureBuilder.Height.RightHandSide   = height.ToString();
            Position  origin    = Position.Origin;
            Direction direction = workPart.Directions.CreateDirection((Point3d)origin, (Vector3d)axisVector, SmartObject.UpdateOption.WithinModeling);

            featureBuilder.Axis.Direction = direction;
            featureBuilder.Axis.Point     = workPart.Points.CreatePoint((Point3d)axisPoint);
            NXOpen.Features.Cylinder cylinder = (NXOpen.Features.Cylinder)Snap.NX.Feature.CommitFeature(featureBuilder);
            featureBuilder.Destroy();
            return(new Snap.NX.Cylinder(cylinder));
        }