Private Sub Form_Load()
    Dim objApp As SolidEdgeFramework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objArcs As SolidEdgeFrameworkSupport.Arcs2d
    Dim objArc1 As SolidEdgeFrameworkSupport.Arc2d
    Dim objL1 As SolidEdgeFrameworkSupport.Line2d
    Dim objL2 As SolidEdgeFrameworkSupport.Line2d
    Dim sDumpStatus As String    ' Used for temporary storage of datadump return string
    Dim x As Double, y As Double
    ' 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
    ' Create an Arcs collection object
    Set objArcs = objDoc.ProfileSets.Add.Profiles.Add(pRefPlaneDisp:=objDoc.RefPlanes(1)).Arcs2d
    ' Create an arc
    Set objArc1 = objArcs.AddByCenterStartEnd(xCenter:=0, yCenter:=0, xStart:=0.05, _
                                              yStart:=0, xEnd:=-0.05, yEnd:=0)
    ' Create a Line object which intersects the Arc object
    Set objL1 = objDoc.ProfileSets(1).Profiles(1). _
                Lines2d.AddBy2Points(x1:=0, y1:=-0.1, x2:=0, y2:=0.1)
    ' Trim the Arc
    Call objArc1.Trim(x:=-0.05, y:=0, CutObj1:=objL1)
    ' Get the End Point
    Call objArc1.GetEndPoint(x:=x, y:=y)
    If Abs(x - 0) > 0.00001 Or y <> 0.05 Then
        MsgBox ("Error in the Trim method of Arc object")
    End If
    ' Delete all the Objects
    Call objArc1.Delete
    Call objL1.Delete
    ' Create an arc
    Set objArc1 = objArcs.AddByCenterStartEnd(xCenter:=0, yCenter:=0, xStart:=0, _
                                              yStart:=-0.05, xEnd:=-0.05, yEnd:=0)
    ' Create 2 Line objects which intersects the Arc object
    Set objL1 = objDoc.ProfileSets(1).Profiles(1).Lines2d. _
                AddBy2Points(x1:=-0.1, y1:=0, x2:=0.1, y2:=0)
    Set objL2 = objDoc.ProfileSets(1).Profiles(1).Lines2d. _
                AddBy2Points(x1:=0, y1:=-0.01, x2:=0, y2:=0.1)
    ' Trim the Arc
    Call objArc1.Trim(x:=0.05, y:=0, CutObj1:=objL1, CutObj2:=objL2)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objArcs = Nothing
    Set objArc1 = Nothing
    Set objL1 = Nothing
    Set objL2 = Nothing
End Sub