Share

Create sheet metal rip feature

Description

This sample demonstrates the creation of a rip sheet metal feature.

Code Samples

Public Sub RipFeatureCreation()
    ' Create a new sheet metal document, using the default sheet metal template.
    Dim oSheetMetalDoc As PartDocument
    Set oSheetMetalDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
                 ThisApplication.FileManager.GetTemplateFile(kPartDocumentObject, , , "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"))

    ' Set a reference to the component definition.
    Dim oCompDef As SheetMetalComponentDefinition
    Set oCompDef = oSheetMetalDoc.ComponentDefinition

    ' Set a reference to the sheet metal features collection.
    Dim oSheetMetalFeatures As SheetMetalFeatures
    Set oSheetMetalFeatures = oCompDef.Features

    ' Create a new sketch on the X-Y work plane.
    Dim oSketch As PlanarSketch
    Set oSketch = oCompDef.Sketches.Add(oCompDef.WorkPlanes.Item(3))

    ' Set a reference to the transient geometry object.
    Dim oTransGeom As TransientGeometry
    Set oTransGeom = ThisApplication.TransientGeometry

    ' Draw a 4cm x 2cm rectangle with the corner at (0,0)
    Call oSketch.SketchLines.AddAsTwoPointRectangle( _
                                oTransGeom.CreatePoint2d(0, 0), _
                                oTransGeom.CreatePoint2d(4, 2))

    Dim oSketchLines As ObjectCollection
    Set oSketchLines = ThisApplication.TransientObjects.CreateObjectCollection

    oSketchLines.Add oSketch.SketchLines(1)

    Call oSketch.OffsetSketchEntitiesUsingDistance(oSketchLines, oCompDef.Thickness.Value, True, True)

    ' Create a profile.
    Dim oProfile As Profile
    Set oProfile = oSketch.Profiles.AddForSolid

    ' Create an extrude feature.
    Dim oExtrudeDef As ExtrudeDefinition
    Set oExtrudeDef = oCompDef.Features.ExtrudeFeatures.CreateExtrudeDefinition(oProfile, kNewBodyOperation)
    Call oExtrudeDef.SetDistanceExtent("1 in", kPositiveExtentDirection)
    Dim oExtrude As ExtrudeFeature
    Set oExtrude = oCompDef.Features.ExtrudeFeatures.Add(oExtrudeDef)

    ' Create bends at all concave edges.
    Dim oEdgeColl As EdgeCollection
    Set oEdgeColl = oExtrude.SurfaceBodies(1).ConcaveEdges

    Dim oBendEdge As Edge
    For Each oBendEdge In oEdgeColl

        Dim oTempColl As EdgeCollection
        Set oTempColl = ThisApplication.TransientObjects.CreateEdgeCollection

        oTempColl.Add oBendEdge

        Dim oBendDef As BendDefinition
        Set oBendDef = oSheetMetalFeatures.BendFeatures.CreateBendDefinition(oTempColl)

        Dim oBendFeature As BendFeature
        Set oBendFeature = oSheetMetalFeatures.BendFeatures.Add(oBendDef)

    Next

    ' Get the first side face of the extrude
    Dim oSideFace As Face
    Set oSideFace = oExtrude.SideFaces.Item(1)

    ' Get any edge on the face that is parallel to the sketch plane
    Dim oEdge As Edge
    For Each oEdge In oSideFace.Edges

        Dim oLineSeg As LineSegment
        Set oLineSeg = oEdge.Geometry

        Dim oLine As Line
        Set oLine = oTransGeom.CreateLine(oLineSeg.StartPoint, oLineSeg.Direction.AsVector)

        If oSketch.PlanarEntityGeometry.IsParallelTo(oLine) Then
            Exit For
        End If
    Next

    ' Create a workpoint at the edge mid-point
    Dim oWorkPoint As WorkPoint
    Set oWorkPoint = oCompDef.WorkPoints.AddByMidPoint(oEdge)

    ' Create a single point type rip feature
    Dim oRipDef As RipDefinition
    Set oRipDef = oSheetMetalFeatures.RipFeatures.CreateRipDefinition(oSideFace)

    Call oRipDef.SetSinglePointRipType(oSideFace, oWorkPoint, oCompDef.GapSize.Value, kSymmetricExtentDirection)

    Dim oRipFeature As RipFeature
    Set oRipFeature = oSheetMetalFeatures.RipFeatures.Add(oRipDef)

    ThisApplication.ActiveView.GoHome
End Sub


Was this information helpful?