Private Sub Form_Load()
    Dim objApp As SolidEdgeFramework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objBSplns As SolidEdgeFrameworkSupport.BSplineCurves2d
    Dim objBSpln1 As SolidEdgeFrameworkSupport.BSplineCurve2d
    Dim objLine1 As SolidEdgeFrameworkSupport.Line2d
    Dim objLine2 As SolidEdgeFrameworkSupport.Line2d
    Dim MyArray(9) As Double
    Dim sDumpStatus As String    ' Used for temporary storage of datadump return string
    ' 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
    'Define an Array of Points
    MyArray(0) = 0
    MyArray(1) = 0
    MyArray(2) = 0.03
    MyArray(3) = 0.02
    MyArray(4) = 0.04
    MyArray(5) = 0.01
    MyArray(6) = 0.05
    MyArray(7) = 0.08
    MyArray(8) = 0.07
    MyArray(9) = 0.04
    'Create a BSplineCurves collection object
    Set objBSplns = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:= _
                                                        objDoc.RefPlanes(1)).BSplineCurves2d
    'Create a BSplineCurve object
    Set objBSpln1 = objBSplns.AddByPoints(Order:=4, ArraySize:=5, Array:=MyArray())
    ' Create a Line object
    Set objLine1 = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:= _
                                                       objDoc.RefPlanes(1)).Lines2d.AddBy2Points(x1:=-0.01, y1:=-0.01, x2:=0.1, y2:=0.1)
    ' Trim the object
    Call objBSpln1.Trim(x:=0, y:=0, CutObj1:=objLine1)
    ' Delete all the objects
    Call objBSpln1.Delete
    Call objLine1.Delete
    'Create a BSplineCurve object
    Set objBSpln1 = objBSplns.AddByPoints(Order:=4, ArraySize:=5, Array:=MyArray())
    ' Create 2 Line objects
    Set objLine1 = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:= _
                                                       objDoc.RefPlanes(1)).Lines2d.AddBy2Points(x1:=-0.01, y1:=-0.01, x2:=0.1, y2:=0.1)
    Set objLine2 = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:= _
                                                       objDoc.RefPlanes(1)).Lines2d.AddBy2Points(x1:=0.05, y1:=0.01, x2:=0.09, y2:=0.08)
    ' Trim the object
    Call objBSpln1.Trim(x:=0.05, y:=0.05, CutObj1:=objLine1, CutObj2:=objLine2)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objBSplns = Nothing
    Set objBSpln1 = Nothing
    Set objLine1 = Nothing
    Set objLine2 = Nothing
End Sub