Private Sub Form_Load()
    Dim objApp As SolidEdgeframework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objPBCurve As solidedgegeometry.ParamBSplineCurve
    Dim lngNPoles As Long
    Dim lngNKnots As Long
    Dim lngNWeights As Long
    Dim dblPoles() As Double
    Dim dblKnots() As Double
    Dim dblWeights() As Double
    Const TESTFILE = "T:\vbtests\testcases\freeform.par"
    ' 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
    Call objDoc.Close
    ' opening the test case file
    Set objDoc = objApp.Documents.Open(TESTFILE)
    ' getting a ParamBSplineCurve from the test case
    Set objPBCurve = objDoc.Models(1).Body.Shells(1).Faces(1).Loops(1).EdgeUses(1).Geometry
    ' getting the 2D BSpline data
    lngNPoles = 2
    lngNKnots = 4
    lngNWeights = 2
    Call objPBCurve.GetBSpline2dData(NumPoles:=lngNPoles, NumKnots:=lngNKnots, NumWeights:=lngNWeights, _
                                     Poles:=dblPoles, Knots:=dblKnots, Weights:=dblWeights)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objPBCurve = Nothing
End Sub