Make Assembly Components Lightweight Example (VBA)
This example shows how to change the selected components in an assembly
from fully resolved to lightweight.
'----------------------------------------------------
'
' Preconditions:
' (1)
Assembly document is open.
' (2)
The components that you want to change from fully
' resolved
to lightweight are selected.
'
' Postconditions: The selected components are changed
from fully resolved
' to
lightweight.
'
'----------------------------------------------------
Option Explicit
Public Enum swComponentSuppressionState_e
swComponentSuppressed
= 0 '
Fully suppressed
- nothing is loaded
swComponentLightweight
= 1 '
Featherweight
- only graphics data is loaded
swComponentFullyResolved
= 2 '
Fully resolved
- model is completely loaded
End Enum
Public Enum swSuppressionError_e
swSuppressionBadComponent
= 0
swSuppressionBadState
= 1
swSuppressionChangeOk
= 2
swSuppressionChangeFailed
= 3
End Enum
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swAssy As
SldWorks.AssemblyDoc
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swComp As
SldWorks.Component2
Dim
nSelCount As
Long
Dim
i As
Long
Dim
bRet As
Boolean
Dim
nRetVal As
Long
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swAssy = swModel
Set
swSelMgr = swModel.SelectionManager
nSelCount
= swSelMgr.GetSelectedObjectCount
Debug.Print
"File = " & swModel.GetPathName
For
i = 1 To nSelCount - 1
Set
swComp = swSelMgr.GetSelectedObjectsComponent(i)
Debug.Print
" Comp
= " & swComp.Name2
Debug.Print
" Path
=
" & swComp.GetPathName
Debug.Print
" GetSuppression
= " & swComp.GetSuppression
Debug.Print
" IsSuppressed
=
" & swComp.IsSuppressed2
Next
i
swAssy.MakeLightweight
End Sub
'----------------------------------------------------