Files
Lesson 4.3 find largest face code
Code
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim vBodies As Variant
Dim swBody As SldWorks.Body2
Dim vFaces As Variant
Dim swFace As SldWorks.Face2
Dim swFinalFace As SldWorks.Face2
Dim swSurf As SldWorks.Surface
Dim swEnt As SldWorks.Entity
Dim i As Integer
Dim dblArea As Double
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swPart = swModel
dblArea = 0
vBodies = swPart.GetBodies2(swSolidBody, False)
Set swBody = vBodies(0) 'assumes only one solid body in part
vFaces = swBody.GetFaces
For i = 0 To UBound(vFaces)
Set swFace = vFaces(i)
Set swSurf = swFace.GetSurface
If swSurf.IsCylinder Then
If swFace.GetArea > dblArea Then
dblArea = swFace.GetArea
Set swFinalFace = swFace
End If
End If
Next i
Set swEnt = swFinalFace
swEnt.Select4 False, Nothing
End Sub