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