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