Dzielenie zespołu wielopoziomowego na 1 poziom za pomocą makra

Witam wszystkich,

W jednym z moich przypadków mam montaż z 3 podzespołami na 1 poziomie na 2 poziomie część + podzespół. Mam 5 poziomów

Używam funkcji Rozbij podzespół

Chciałbym umieścić wszystkie moje pliki części na 1 poziomie. (brak elementu podzespołu w zespole głównym) Używam SW2017

Czy istnieje makro, które radzi sobie z różnymi poziomami?

Z góry dziękujemy za Twoją opinię

 


2020_02_22_12_52_56_window.png

Jeśli dobrze rozumiem, czy chcesz rozbić wszystkie podzespoły?

Spróbuj tego:

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swAssy As SldWorks.AssemblyDoc
Dim swComp As SldWorks.Component2
Dim swCompModel As SldWorks.ModelDoc2
Dim vComp As Variant
Dim blnDone As Boolean
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swAssy = swModel
    blnDone = False
    While Not blnDone
        blnDone = True
        For Each vComp In swAssy.GetComponents(False)
            Set swComp = vComp
            Set swCompModel = swComp.GetModelDoc2
            If Not swCompModel Is Nothing Then
                If swCompModel.GetType = swDocASSEMBLY Then
                    swComp.Select4 False, Nothing, False
                    swAssy.DissolveSubAssembly
                    blnDone = False
                    Exit For
                End If
            End If
        Next
    Wend
End Sub

Znajdź na: https://forum.solidworks.com/thread/61078

1 polubienie

Dziękuję, to jest dokładnie to, czego szukałem.

Dobranoc