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 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())
If objBSpln1.NodeCount <> 5 Then
MsgBox ("Error in the Extend method")
End If
' Create a Line object
Set objLine1 = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:= _
objDoc.RefPlanes(1)).Lines2d.AddBy2Points _
(x1:=0.06, y1:=0.035, x2:=0.09, y2:=0.035)
' Extend the object
Call objBSpln1.Extend(x:=0.09, y:=0.1, TargetObj:=objLine1)
' USER DISPLAY
' Release objects
Set objApp = Nothing
Set objDoc = Nothing
Set objBSplns = Nothing
Set objBSpln1 = Nothing
Set objLine1 = Nothing
End Sub