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 MyArray(9) As Double
    Dim vRng As Variant
    Dim x1 As Double, y1 As Double, x2 As Double, y2 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())
    ' Get the Range of the Curve
    vRng = objBSpln1.Range(xMinimum:=x1, yMinimum:=y1, xMaximum:=x2, yMaximum:=y2)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objBSplns = Nothing
    Set objBSpln1 = Nothing
End Sub