Get Faces Affected by Feature Example (VBA)
This example shows how to get the faces affected by a feature. This
example also highlights the edges on each affected face in blue.
'--------------------------------------------------
'
' Preconditions:
' (1)
Model document is open.
' (2)
A feature, such as a draft, that affects faces is selected.
'
' Postconditions: The edges on the faces affected by the
selected feature
' are
highlighted in blue.
'
'---------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swModelExt As SldWorks.ModelDocExtension
Dim swFeature As SldWorks.Feature
Dim vAffectedFaces As Variant
Dim vEdges As Variant
Dim nFaceCount As Long
Dim nEdgeCount As Long
Dim i As Integer
Dim j As Integer
Sub main()
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swModelExt = swModel.Extension
Set
swSelMgr = swModel.SelectionManager
Set
swFeature = swSelMgr.GetSelectedObject5(1)
swModel.ClearSelection2 (True)
nFaceCount
= swFeature.GetAffectedFaceCount
Debug.Print
"Number of faces affected by selected feature = " & nFaceCount
vAffectedFaces
= swFeature.GetAffectedFaces
For
i = 0 To (nFaceCount - 1)
nEdgeCount
= vAffectedFaces(i).GetEdgeCount
Debug.Print
" Number
of edges on Face " & i; " = " & nEdgeCount
vEdges
= vAffectedFaces(i).GetEdges
For
j = 0 To (nEdgeCount - 1)
vEdges(j).Display 2, 0, 0, 1, True
Next
j
Next
i
End Sub