Select and Get Number of Edges, Loops, Faces, and Features Example
(VBA)
This examples shows how to get the number of edges, loops, faces, and
features for all red-colored faces using the SOLIDWORKS Utilities API.
'-------------------------------------------------
'
' Preconditions: Model
with red-colored faces
' is
open.
'
' Postconditions: Edges, loops, faces, and features
' of
all red faces are selected.
'-------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim longstatus As Long
Sub main()
Set swApp = Application.SldWorks
swApp.ActiveDoc.ActiveView.FrameState = 1
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
'--------------------Power Select--------------------
Dim swUtil As gtcocswUtilities
Dim swUtilPsl As gtcocswPowerSelect
Set swUtil = swApp.GetAddInObject("Utilities.UtilitiesApp")
'Get the powerSelect object
'You can also use gtcocswUtilities::GetToolInterface)
Set swUtilPsl = swUtil.PowerSelect
longstatus = swUtilPsl.Init()
'Select only faces
longstatus = swUtilPsl.SetSelectEntitiesTypes(gtPslSelectionType_Face)
'Select all red faces
longstatus = swUtilPsl.SetFaceColorFilter(1#,
0#, 0#)
'Run the selection and get the number of
'edges, loops, faces, and features selected
varEntCount = swUtilPsl.RunPowerSelect(gtResultNoUI,
longstatus)
'Select the results
longstatus = swUtilPsl.SelectResults()
longstatus = swUtilPsl.Close()
'--------------------Power Select--------------------
End Sub