Extend Surface Example (VBA)
This example shows how to extend edges of a the selected surface.
'------------------------------
'
' Preconditions: Select an edge on the surface body that
you want to extend.
'
' Postconditions: A temporary body with the selected edges
is displayed.
'
'------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim swEdge As SldWorks.Edge
Dim swBody As SldWorks.Body2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swVertex As SldWorks.Vertex
Dim swFace As SldWorks.face2
Dim swFeat As SldWorks.feature
Dim edgeVar As Variant
Dim ct As Integer
Dim bExtLin As Boolean
Dim endCond As Long
Dim newBody1 As SldWorks.Body2
Dim i As Integer
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swPart = swModel
Set swSelMgr = swModel.SelectionManager
' Select an edge on the surface that you want to extend
Set swEdge = swSelMgr.GetSelectedObject5(1)
Set swBody = swEdge.GetBody
Stop 'Select edges to extend
Const ct = 2
Dim edgeArr(0 To ct - 1) As Object
For i = 0 To ct - 1
Set
edgeArr(i) = swSelMgr.GetSelectedObject5(i
+ 1)
Next i
edgeVar = edgeArr
bExtLin = True
endCond = 0
If endCond = 1 Then
Stop
'Select the vertex
Set
swVertex = swSelMgr.GetSelectedObject5(1)
End If
If endCond = 2 Then
Stop
'Select the face
Set
swFace = swSelMgr.GetSelectedObject5(1)
End If
Set newBody1 = swBody.ExtendSurface((edgeVar),
bExtLin, endCond, 0.01, swVertex, swFace)
newBody1.Display2
swPart, RGB(255, 0, 0), 0
End Sub