Ik probeer een macro, maar het werkt niet
Sub-interferentie ()
Dim swApp als SldWorks.SldWorks
Dim swModel als SldWorks.ModelDoc2
Dim swAssembly als SldWorks.AssemblyDoc
Dim swModelExt als SldWorks.ModelDocExtension
Dim swComp als SldWorks.Component2
Dim swComp1 als SldWorks.Component2
Dim swBody As SldWorks.Body2
Dim swModeler als SldWorks.Modeler
Zon swSelMgr As SldWorks.SelectionMgr
Dim CompArray() als SldWorks.Component2
Dim swSelData As SldWorks.SelectData
Verklaring van variabelen
Dim OutputPath als tekenreeks
Dim OutputFN als snaar
Dim Component Als Variant
Dim Component1 als variant
Dim componenten als variant
Dim Components1 als variant
Dim Deselectie Als Booleaanse
Dim Deselectie1 Aas Booleaans
Dim arrBody als variant
Dim arrFace als variant
Dim arrBody1 als variant
Dim arrFace1 als variant
Dim A als Booleaanse
Dim i als geheel getal
Dim i1 als geheel getal
Zon j Zo lang
Dim k als geheel getal
Dim k1 als geheel getal
Dim interferentie als Booleaanse
Dim bRet als Booleaanse
Cel1 = 1
Stel swApp = Toepassing.SldWorks in
Stel swModeler in = swApp.GetModeler
'Gebruik het actieve document
Stel swModel = swApp.ActiveDoc in
Stel swAssembly in = swModel
Stel swModelExt = swModel.Extension in
Stel swSelMgr = swModel.SelectionManager in
Set swSelData = swSelMgr.CreateSelectData
Componenten = swAssembly.GetComponents(Onwaar)
Componenten1 = swAssembly.GetComponents(Onwaar)
" voor elk onderdeel (onderdeel) in de onderdelenverzameling (assemblage)
Voor elk onderdeel in componenten
Set swComp = Onderdeel
Als swComp.GetSuppression <> 0 Dan
arrBody = swComp.GetBodies2(0)
Einde als
Voor i = 0 Naar UBound(arrBody)
Stel swBody in = arrBody(i)
arrFace = swBody.GetFaces
Voor k = 0 TB UBound(arrFace)
Stel swFace in = arrFace(k)
Stel swEnt = swFace in
a = swEnt.Select4(True, swSelData)
Voor elk onderdeel1 In componenten1
Stel swComp1 = Component1 in
Als swComp1.GetSuppression <> 0 Dan
arrBody1 = swComp1.GetBodies2(0)
Einde als
Voor i1 = 0 Naar UBound(arrBody1)
Stel swBody1 in = arrBody1(i)
arrFace1 = swBody1.GetFaces
Voor k1 = 0 TB UBound(arrFace1)
Stel swFace1 in = arrFace1(k1)
Stel swEnt1 in = swFace1
a1 = swEnt1.Select4(True, swSelData)
Interferentie = swModeler.ICheckInterference3(swFace, swFace1, Niets)
Debug.Print "Interferentie"; Storing
Als swModel.GetEntityName(swFace) <> swModel.GetEntityName(swFace1) Dan
DeselectieGezicht = swEnt1.DeSelect()
Einde als
Volgende k1
Volgende i1
Volgende component1
DeselectionFace1 = swEnt.DeSelect()
Volgende k
volgende i
Volgende component
Einde Sub