Traverse Drawing FeatureManager Design Tree Example (VBA)
This example shows how to get a reference to the model underlying the
drawing view and then how to traverse the FeatureManager design tree from
there.
'---------------------------------------
Option Explicit
Sub main()
Dim
swApp As
SldWorks.SldWorks
Dim
swModel As
SldWorks.ModelDoc2
Dim
swDrawModel As
SldWorks.ModelDoc2
Dim
swDraw As
SldWorks.DrawingDoc
Dim
swView As
SldWorks.view
Dim
sModelName As
String
Dim
nDocType As
Long
Dim
nErrors As
Long
Dim
nWarnings As
Long
Set
swApp = CreateObject("SldWorks.Application")
Set
swModel = swApp.ActiveDoc
Set
swDraw = swModel
'
Drawing sheet
Set
swView = swDraw.GetFirstView
'
First view on the sheet
Set
swView = swView.GetNextView
'
Determine if this is a view of a part or assembly
sModelName
= swView.GetReferencedModelName
sModelName
= LCase(sModelName)
If
InStr(sModelName, ".sldprt") Then
nDocType
= swDocPART
Else
nDocType
= swDocASSEMBLY
End
If
'
Get reference to underlying model
Set
swDrawModel = swApp.OpenDoc6(sModelName,
nDocType, _
swOpenDocOptions_Silent,
"", nErrors, nWarnings)
Debug.Print
"File = " & swModel.GetPathName
Debug.Print
" View
=
" & swView.Name
Debug.Print
" Model
= "
& sModelName
End Sub
'---------------------------------------