Run Interference Detection Example (VBA)
This example shows how to run interference detection.
'--------------------------------------------
'
' Preconditions: Assembly with multiple components is
open.
'
' Postconditions: None
'
'---------------------------------------------
Option Explicit
Dim
swApp As SldWorks.SldWorks
Dim
swModelDoc As SldWorks.ModelDoc2
Dim
swAssemblyDoc As SldWorks.AssemblyDoc
Dim
pIntMgr As SldWorks.InterferenceDetectionMgr
Dim
vInts As Variant
Sub main()
Set
swApp = Application.SldWorks
Set
swModelDoc = swApp.ActiveDoc
Set
swAssemblyDoc = swModelDoc
Set
pIntMgr = swAssemblyDoc.InterferenceDetectionManager
'
Run interference detection and return an array of interferences
vInts
= pIntMgr.GetInterferences
'
Specify the interference detection settings and options
pIntMgr.TreatCoincidenceAsInterference = True
pIntMgr.TreatSubAssembliesAsComponents = True
pIntMgr.IncludeMultibodyPartInterferences =
True
pIntMgr.MakeInterferingPartsTransparent = True
pIntMgr.CreateFastenersFolder = True
'
Ignore interference
vInts(0).Ignore = True
pIntMgr.ShowIgnoredInterferences = True
vInts(0).Ignore = False
'Specify
how to display non-interfering components
pIntMgr.NonInterferingComponentDisplay = swNonInterferingComponentDisplay_Wireframe
'pIntMgr.NonInterferingComponentDisplay = swNonInterferingComponentDisplay_Hidden
'pIntMgr.NonInterferingComponentDisplay = swNonInterferingComponentDisplay_Transparent
'pIntMgr.NonInterferingComponentDisplay = swNonInterferingComponentDisplay_Current
Stop
'
Stop interference detection
pIntMgr.Done
End Sub