Texte préformaté
’**********************
"Prawa autorskie(C) 2023 Xarial Pty Limited
'Odniesienie: Przechodzenie przez drzewo komponentów za pomocą API SOLIDWORKS
'Licencja: Licencja
'**********************
Opcja jawna
Dim swApp jako SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Przyciemnij część jako SldWorks.ModelDoc2
Dim SelMgr As SldWorks.SelectionMgr
Dim swFeatMgr As SldWorks.FeatureManager
Dim path_complete As String 'chemin complet de la pièce
Dim myError tak długo
Przyciemnij myWarning tak długo
Dim guillemet Jako Struna
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim ext As Ciąg
Const INDENT_SYMBOL As String = " "
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If Not swModel Is Nothing Then
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
Set swFeatMgr = Part.FeatureManager
Dim swRootComp As SldWorks.Component2
Set swRootComp = swModel.ConfigurationManager.ActiveConfiguration.GetRootComponent
' MsgBox "avant de rentrer dans la première boucle des enfants"
TraverseComponent swRootComp, ""
Else
MsgBox "Please open assembly"
Zakończ jeżeli:
Koniec subwoofera
Sub TraverseComponent(comp As SldWorks.Component2, wcięcie jako ciąg)
Dim vChildComps As Variant
vChildComps = comp.GetChildren
Dim i As Integer
For i = 0 To UBound(vChildComps)
Dim swChildComp As SldWorks.Component2
Set swChildComp = vChildComps(i)
Debug.Print indent & swChildComp.Name2 & " (" & swChildComp.GetPathName() & ")"
' Ouvre le fichier de la boucle
ext = Prawo(swChildComp.GetPathName(), 6)
'si c'est un part
Jeśli ext = « sldprt » Wtedy
'Debug.Print "Część " & swChildComp.GetPathName()
'swApp.OpenDoc6 "C:\VueLocalePDM\PDM\2-CREE\01-Bibliotheque\Pièces\Pièces 06\DOC-000024428.sldprt", 1, 0, "", 0, 0
swApp.OpenDoc6 swChildComp.GetPathName(), 1, 0, « », 0, 0
Inaczej
"Ce n'est pas un prt"
Jeśli ext = « sldasm » Wtedy
'////aSM
Set Part = swApp.OpenDoc6(swChildComp.GetPathName(), 2, 0, « », longstatus, longwarnings) '2 pou swDocASSEMBLY
Else
MsgBox "pas d'extension trouvée"
End If
Zakończ jeżeli:
MsgBox "avant fermeture du fichier"
''ferme le fichier de la boucle
'swApp.CloseDoc Nazwa_części.GetPathName
Ustaw część = Nic
Next
Koniec subwoofera