Make All Assembly Components Visible Example (VBA)
This example shows how to make all assembly components visible.
'---------------------------------------
'
' Preconditions: An assembly document is open.
'
' Postconditions: Any hidden assembly components are made
visible.
'
'---------------------------------------
Option Explicit
Public Enum swComponentVisibilityState_e
swComponentHidden
= 0
swComponentVisible
= 1
End Enum
Sub TraverseComponent _
( _
swComp
As SldWorks.Component2, _
nLevel
As Long _
)
Dim
vChildCompArr As
Variant
Dim
vChildComp As
Variant
Dim
swChildComp As
SldWorks.Component2
Dim
swCompConfig As
SldWorks.Configuration
Dim
sPadStr As
String
Dim
i As
Long
For
i = 0 To nLevel - 1
sPadStr
= sPadStr + " "
Next
i
vChildCompArr
= swComp.GetChildren
For
Each vChildComp In vChildCompArr
Set
swChildComp = vChildComp
Debug.Print
sPadStr & swChildComp.Name2
& " <" & swChildComp.ReferencedConfiguration
& ">"
If
swComponentHidden = swChildComp.Visible
Then
swChildComp.Visible = swComponentVisible
End
If
TraverseComponent
swChildComp, nLevel + 1
Next
End Sub
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swAssy As
SldWorks.AssemblyDoc
Dim
swConf As
SldWorks.Configuration
Dim
swRootComp As
SldWorks.Component2
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swConf = swModel.GetActiveConfiguration
Set
swRootComp = swConf.GetRootComponent
Debug.Print
"File = " & swModel.GetPathName
TraverseComponent
swRootComp, 1
End Sub
'---------------------------------------