Solid Edge Part Type Library
Reorder Method
Specifies the feature object for which the referenced feature object is to be inserted in front of or behind.
Specifies if the active feature object is to be placed before or after the target object. If this argument is True, the active feature object is inserted before the target object. If this argument is False, the feature object is placed after the target object.
Description
Inserts the referenced object in front of or behind another feature.
Syntax
Visual Basic
Public Sub Reorder( _
   ByVal TargetFeature As Object, _
   ByVal InsertBefore As Boolean _
) 
Parameters
TargetFeature
Specifies the feature object for which the referenced feature object is to be inserted in front of or behind.
InsertBefore
Specifies if the active feature object is to be placed before or after the target object. If this argument is True, the active feature object is inserted before the target object. If this argument is False, the feature object is placed after the target object.
Example
Private Sub Form_Load()
    Dim objApp As SolidEdgeFrameWork.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objLines As SolidEdgeFrameworkSupport.Lines2d
    Dim objProfArr(1 To 2) As SolidEdgePart.Profile
    Dim objModel As SolidEdgePart.Model
    Dim objExtProt As SolidEdgePart.ExtrudedProtrusion
    Dim objRelns1 As SolidEdgeFrameworkSupport.Relations2d
    Dim objEdges(1 To 1) As Object
    Dim objSideFace As Object
    Dim objCapFace As Object
    Dim objLips As SolidEdgePart.Lips
    Dim objLip As SolidEdgePart.Lip
    Dim objExtCutProf As SolidEdgePart.Profile
    Dim objExtCutout As SolidEdgePart.ExtrudedCutout
    Dim lngStatus As Long
    Dim i As Integer
    ' Report errors
    Const PI = 3.14159265358979
    ' Create/get the application with specific settings
    On Error Resume Next
    Set objApp = GetObject(, "SolidEdge.Application")
    If Err Then
        Err.Clear
        Set objApp = CreateObject("SolidEdge.Application")
        Set objDoc = objApp.Documents.Add("SolidEdge.PartDocument")
        objApp.Visible = True
    Else
        Set objDoc = objApp.ActiveDocument
    End If
    On Error GoTo 0
    ' Draw the Profile
    Set objProfArr(1) = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objDoc.RefPlanes(1))
    Set objLines = objProfArr(1).Lines2d
    Call objLines.AddBy2Points(x1:=0, y1:=0, x2:=0.06, y2:=0)
    Call objLines.AddBy2Points(x1:=0.06, y1:=0, x2:=0.06, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0.06, y1:=0.06, x2:=0, y2:=0.06)
    Call objLines.AddBy2Points(x1:=0, y1:=0.06, x2:=0, y2:=0)
    ' Relate the Lines to make the Profile closed
    Set objRelns1 = objProfArr(1).Relations2d
    Call objRelns1.AddKeypoint(Object1:=objLines(1), Index1:=igLineEnd, Object2:=objLines(2), Index2:=igLineStart)
    Call objRelns1.AddKeypoint(Object1:=objLines(2), Index1:=igLineEnd, Object2:=objLines(3), Index2:=igLineStart)
    Call objRelns1.AddKeypoint(Object1:=objLines(3), Index1:=igLineEnd, Object2:=objLines(4), Index2:=igLineStart)
    Call objRelns1.AddKeypoint(Object1:=objLines(4), Index1:=igLineEnd, Object2:=objLines(1), Index2:=igLineStart)
    ' Check for the Profile Validity
    lngStatus = objProfArr(1).End(ValidationCriteria:=igProfileClosed)
    If lngStatus <> 0 Then
        MsgBox ("Profile not closed")
    End If
    ' Create the Base Protrusion Object
    Set objModel = objDoc.Models.AddFiniteExtrudedProtrusion(NumberOfProfiles:=1, _
                                                             ProfileArray:=objProfArr, profileplaneside:=igRight, _
                                                             ExtrusionDistance:=0.02)
    objProfArr(1).Visible = False
    ' Check the status of Base Feature
    If objModel.ExtrudedProtrusions(1).Status <> igFeatureOK Then
        MsgBox ("Error in the Creation of Base Protrusion Feature object")
    End If
    Set objExtProt = objModel.ExtrudedProtrusions(1)
    'Create a Cutout feature
    Set objExtCutProf = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objDoc.RefPlanes(2))
    Call objExtCutProf.Circles2d.AddByCenterRadius(x:=0.03, y:=0.01, Radius:=0.005)
    ' Check for the Profile Validity
    lngStatus = objExtCutProf.End(ValidationCriteria:=igProfileClosed)
    If lngStatus <> 0 Then
        MsgBox ("Profile not closed")
    End If
    Set objExtCutout = objModel.ExtrudedCutouts.AddFinite(Profile:=objExtCutProf, ProfileSide:=igLeft, _
                                                          profileplaneside:=igRight, Depth:=0.05)
    objExtCutProf.Visible = False
    If objExtCutout.Status <> igFeatureOK Then
        MsgBox "ExtrudedCutout feature failed"
    End If
    '*** Lip Creation
    'Get the Lips collection from the Model object
    Set objLips = objModel.Lips
    'Get the edges on which lip is to be created in to an array
    Set objEdges(1) = objExtProt.BottomCap.Edges.Item(1)
    'Get the face to be set as SideFace for the Lip
    Set objSideFace = objExtProt.SideFaces.Item(1)
    'Get the face to be set as CapFace for the Lip
    Set objCapFace = objExtProt.BottomCap
    'Create the Lip
    Set objLip = objLips.Add(Numberofedges:=1, Edges:=objEdges, SideFace:=objSideFace, _
                             CapFace:=objCapFace, Width:=0.01, Height:=0.005)
    'Validate the feature
    If objLip.Status <> igFeatureOK Then
        MsgBox "Add method of Lip feature failed"
    End If
    'Reorder the Lip feature ahead of ExtrudedCutout
    objLip.Reorder targetfeature:=objExtProt, InsertBefore:=False
    ' USER DISPLAY
    If objModel.Features(2).Name <> "Lip/Groove_1" Then
        MsgBox "Reorder method of Lip feature failed"
    End If

    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objLines = Nothing
    Set objProfArr(1) = Nothing
    Set objProfArr(2) = Nothing
    Set objModel = Nothing
    Set objExtProt = Nothing
    Set objRelns1 = Nothing
    Set objEdges(1) = Nothing
    Set objSideFace = Nothing
    Set objCapFace = Nothing
    Set objLips = Nothing
    Set objLip = Nothing
    Set objExtCutProf = Nothing
    Set objExtCutout = Nothing
End Sub
See Also

Lip Object  | Lip Members

Send comments on this topic.