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