Hide Drawing Components Example (VBA)
This example shows how to hide the drawing components in the selected
drawing view.
'-----------------------------------------------
'
' Preconditions:
' (1)
Drawing document is open.
' (2)
Drawing view of an assembly is selected.
'
' Postconditions: Drawing components in the selected drawing
view are hidden.
'
'-----------------------------------------------
Option Explicit
' Types
of drawing views
Public Enum swDrawingViewTypes_e
swDrawingSheet
= 1
swDrawingSectionView
= 2
swDrawingDetailView
= 3
swDrawingProjectedView
= 4
swDrawingAuxiliaryView
= 5
swDrawingStandardView
= 6
swDrawingNamedView
= 7
swDrawingRelativeView
= 8
End Enum
Sub ProcessDrawingComponent _
( _
swDrawComp
As SldWorks.DrawingComponent, _
sPadStr
As String _
)
Dim
vDrawCompChildArr As
Variant
Dim
vDrawCompChild As
Variant
Dim
swDrawCompChild As
SldWorks.DrawingComponent
Debug.Print
sPadStr & swDrawComp.Name
'
Does not affect root component
swDrawComp.Visible = False
vDrawCompChildArr
= swDrawComp.GetChildren
If
Not IsEmpty(vDrawCompChildArr) Then
For
Each vDrawCompChild In vDrawCompChildArr
Set
swDrawCompChild = vDrawCompChild
ProcessDrawingComponent
swDrawCompChild, sPadStr + " "
Next
End
If
End Sub
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swDraw As
SldWorks.DrawingDoc
Dim
swSelMgr As
SldWorks.SelectionMgr
Dim
swView As
SldWorks.View
Dim
swDrawComp As
SldWorks.DrawingComponent
Dim
swComp As
SldWorks.Component2
Dim
bRet As
Boolean
Set
swApp = Application.SldWorks
Set
swModel = swApp.ActiveDoc
Set
swDraw = swModel
Set
swSelMgr = swModel.SelectionManager
Set
swView = swSelMgr.GetSelectedObject5(1)
Set
swDrawComp = swView.RootDrawingComponent
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" "
& swView.Name & "
["
& swView.Type & "]"
ProcessDrawingComponent
swDrawComp, " "
End Sub
'---------------------------------------