Öffnen aller Zeichnungen unter einer Solidworks-Baugruppe

Hat jemand ein Makro, mit dem Sie ALLE Zeichnungen von Unterbaugruppen und Teilen aus einer Hauptbaugruppe öffnen können? Die Zeichnungen haben die gleiche Nummer als Referenz.

Hallo

Versuchen Sie Folgendes:

Option Explicit

Dim swApp As Object
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.ModelDoc2
Dim Assembly As ModelDoc2
Dim myAssy As AssemblyDoc
Dim fileerror As Long
Dim filewarning As Long
Dim i As Long
Dim nRetval As Long
Dim myCmps As Variant
Dim myCmp As Component2
Dim myName As String

Sub main()
    Set swApp = Application.SldWorks
    Set Assembly = swApp.ActiveDoc
    Set myAssy = Assembly

    myCmps = myAssy.GetComponents(False)
    For i = 0 To UBound(myCmps)
        Set myCmp = myCmps(i)
        Set swModel = myCmp.GetModelDoc2
        myName = swModel.GetPathName
        myName = Left(myName, (Len(myName) - 7)) & ".slddrw"
        
        Set swDraw = swApp.OpenDoc6(myName, swDocumentTypes_e.swDocDRAWING, swOpenDocOptions_Silent, "", fileerror, filewarning)

        myAssy.EditAssembly
    Next i
    
    Set Assembly = swApp.ActivateDoc2(myAssy.GetPathName, True, nRetval)
    
    MsgBox "Traitement terminé", vbExclamation

End Sub

Herzliche Grüße

3 „Gefällt mir“

Hallo;

Ich habe eine kleine Frage an unseren Doktor S Macro d.roger nationnal.
Warum haben Sie sich entschieden, Ihre Variable "myName" mit  "=swmodel.getplathName" zu füllen?
statt mit "= myCmps(i). GetPathName"?
Ich verstehe diese Wahl nicht.

Auf der anderen Seite ist der Rest wie immer, einfach, präzise, effektiv.... Gut gemacht.

Herzliche Grüße.

1 „Gefällt mir“