public static Snap.NX.Extrude Wrap(Tag nxopenExtrudeTag) { if (nxopenExtrudeTag == Tag.Null) { throw new ArgumentException("Input tag is NXOpen.Tag.Null"); } NXOpen.Features.Extrude objectFromTag = Snap.NX.NXObject.GetObjectFromTag(nxopenExtrudeTag) as NXOpen.Features.Extrude; if (objectFromTag == null) { throw new ArgumentException("Input tag doesn't belong to an NXOpen.Features.Extrude object"); } return(objectFromTag); }
internal static Snap.NX.Extrude CreateExtrude(Snap.NX.Section section, Vector axis, Snap.Number[] extents, Snap.Number draftAngle, bool offset, Snap.Number[] offsetValues, bool createSheet) { NXOpen.Part workPart = (NXOpen.Part)Globals.WorkPart; NXOpen.Features.ExtrudeBuilder featureBuilder = workPart.Features.CreateExtrudeBuilder(null); featureBuilder.DistanceTolerance = Globals.DistanceTolerance; featureBuilder.BooleanOperation.Type = BooleanOperation.BooleanType.Create; if (createSheet) { featureBuilder.FeatureOptions.BodyType = FeatureOptions.BodyStyle.Sheet; } featureBuilder.Limits.StartExtend.Value.RightHandSide = extents[0].ToString(); featureBuilder.Limits.EndExtend.Value.RightHandSide = extents[1].ToString(); featureBuilder.Offset.Option = NXOpen.GeometricUtilities.Type.NoOffset; if (offset) { featureBuilder.Offset.Option = NXOpen.GeometricUtilities.Type.NonsymmetricOffset; featureBuilder.Offset.StartOffset.RightHandSide = offsetValues[0].ToString(); featureBuilder.Offset.EndOffset.RightHandSide = offsetValues[1].ToString(); } double num = Snap.Number.Parse(Snap.Number.NullToZero(draftAngle).ToString()); if (System.Math.Abs(num) < 0.001) { featureBuilder.Draft.DraftOption = SimpleDraft.SimpleDraftType.NoDraft; } else { featureBuilder.Draft.DraftOption = SimpleDraft.SimpleDraftType.SimpleFromProfile; } featureBuilder.Draft.FrontDraftAngle.RightHandSide = Snap.Number.ToString(num); featureBuilder.Section = (NXOpen.Section)section; Point3d origin = new Point3d(30.0, 0.0, 0.0); Vector3d vector = new Vector3d(axis.X, axis.Y, axis.Z); NXOpen.Direction direction = workPart.Directions.CreateDirection(origin, vector, SmartObject.UpdateOption.WithinModeling); featureBuilder.Direction = direction; NXOpen.Features.Extrude extrude = (NXOpen.Features.Extrude)Snap.NX.Feature.CommitFeature(featureBuilder); featureBuilder.Destroy(); return(new Snap.NX.Extrude(extrude)); }
internal Extrude(NXOpen.Features.Extrude extrude) : base(extrude) { this.NXOpenExtrude = extrude; }
public void function_note(string[] zhushiwenzi, DisplayableObject guanlian, NXObject zhiyinobj, Point3d placeptobj) { NXOpen.Annotations.SimpleDraftingAid nullAnnotations_SimpleDraftingAid = null; NXOpen.Annotations.PmiNoteBuilder pmiNoteBuilder1; pmiNoteBuilder1 = workPart.Annotations.CreatePmiNoteBuilder(nullAnnotations_SimpleDraftingAid); pmiNoteBuilder1.Origin.SetInferRelativeToGeometry(true); pmiNoteBuilder1.Origin.Anchor = NXOpen.Annotations.OriginBuilder.AlignmentPosition.MidCenter; pmiNoteBuilder1.TextAlignment = NXOpen.Annotations.DraftingNoteBuilder.TextAlign.Middle; pmiNoteBuilder1.Origin.Plane.PlaneMethod = NXOpen.Annotations.PlaneBuilder.PlaneMethodType.ModelView; pmiNoteBuilder1.Origin.SetInferRelativeToGeometry(true); NXOpen.Annotations.LeaderData leaderData1; leaderData1 = workPart.Annotations.CreateLeaderData(); leaderData1.Arrowhead = NXOpen.Annotations.LeaderData.ArrowheadType.FilledArrow; pmiNoteBuilder1.Leader.Leaders.Append(leaderData1); leaderData1.StubSide = NXOpen.Annotations.LeaderSide.Inferred; leaderData1.StubSize = 5.0; leaderData1.Perpendicular = false; //double symbolscale1; //symbolscale1 = pmiNoteBuilder1.Text.TextBlock.SymbolScale; //double symbolaspectratio1; //symbolaspectratio1 = pmiNoteBuilder1.Text.TextBlock.SymbolAspectRatio; Xform xform1; xform1 = workPart.Annotations.GetDefaultAnnotationPlane(NXOpen.Annotations.PmiDefaultPlane.ModelView); pmiNoteBuilder1.Origin.SetInferRelativeToGeometry(true); //pmiNoteBuilder1.Origin.SetInferRelativeToGeometry(true); pmiNoteBuilder1.Text.TextBlock.SetText(zhushiwenzi); NXOpen.Annotations.Annotation.AssociativeOriginData assocOrigin1; assocOrigin1.OriginType = NXOpen.Annotations.AssociativeOriginType.Drag; NXOpen.View nullView = null; assocOrigin1.View = nullView; assocOrigin1.ViewOfGeometry = nullView; NXOpen.Point nullPoint = null; assocOrigin1.PointOnGeometry = nullPoint; assocOrigin1.VertAnnotation = null; assocOrigin1.VertAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft; assocOrigin1.HorizAnnotation = null; assocOrigin1.HorizAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft; assocOrigin1.AlignedAnnotation = null; assocOrigin1.DimensionLine = 0; assocOrigin1.AssociatedView = nullView; assocOrigin1.AssociatedPoint = nullPoint; assocOrigin1.OffsetAnnotation = null; assocOrigin1.OffsetAlignmentPosition = NXOpen.Annotations.AlignmentPosition.TopLeft; assocOrigin1.XOffsetFactor = 0.0; assocOrigin1.YOffsetFactor = 0.0; assocOrigin1.StackAlignmentPosition = NXOpen.Annotations.StackAlignmentPosition.Above; pmiNoteBuilder1.Origin.SetAssociativeOrigin(assocOrigin1); bool added1; added1 = pmiNoteBuilder1.AssociatedObjects.Objects.Add(guanlian); pmiNoteBuilder1.Origin.Origin.SetValue(null, nullView, placeptobj); pmiNoteBuilder1.Origin.SetInferRelativeToGeometry(true); NXOpen.Features.Extrude extrude1 = (NXOpen.Features.Extrude)workPart.Features.FindObject("EXTRUDE(3)"); Edge edge1 = (Edge)extrude1.FindObject("EDGE * 120 * 140 {(11,2,-5)(11,0.5,-5)(11,-1,-5) EXTRUDE(2)}"); Point3d point2 = new Point3d(11.0, -1, -5.0); leaderData1.Leader.SetValue(edge1, workPart.ModelingViews.WorkView, point2); NXObject nXObject1; nXObject1 = pmiNoteBuilder1.Commit(); pmiNoteBuilder1.Destroy(); }