Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swSelData As SldWorks.SelectData
Dim swFeat As SldWorks.Feature
Dim swSheetMetal As SldWorks.SheetMetalFeatureData
Dim swFixedFaceEnt As SldWorks.Entity
Dim bRet As Boolean
Dim swFlatPattern As SldWorks.FlatPatternFeatureData
Dim strFlat As String
Dim FeatureCount As Long
Dim FeatureName As String
Dim FeatureType As String
Dim i As Integer
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swSelData = swSelMgr.CreateSelectData
Set swFeat = swSelMgr.GetSelectedObject5(1)
'Set swSheetMetal = swFeat.GetDefinition
FeatureCount = swModel.GetFeatureCount
For i = 0 To FeatureCount
FeatureName = swFeat.Name
FeatureType = swFeat.GetTypeName
If FeatureType = "FlatPattern" Then
Set swFlatPattern = swFeat.GetDefinition
strFlat = swFlatPattern.FixedFace
End If
Set swFeat = swFeat.GetNextFeature
Next i
' Roll back the model to get access to fixed face
bRet = swSheetMetal.AccessSelections(swModel, Nothing)
Set swFixedFaceEnt = swSheetMetal.FixedReference
If Not swFixedFaceEnt Is Nothing Then
Debug.Print "Got fixed face or fixed edge"
bRet = swFixedFaceEnt.Select4(False, swSelData): Debug.Assert bRet
Else
' Do not have to specify fixed face or fixed edge in user interface,
' so NULL is a valid value
Debug.Print "NULL fixed face or fixed edge"
End If
' Cancel changes and roll back the model
swSheetMetal.ReleaseSelectionAccess
End Sub