Bearbeiten Sie alle Teile einer Baugruppe nacheinander, um ein Makro anzuwenden?

Hallo

Ich habe ein Makro, mit dem ich Informationen aus jedem Stück basierend auf dem Dateinamen eingeben kann. Das Problem ist, dass ich dieses Makro im Moment Teil für Teil ausführen muss und ich nur die Funktion wissen möchte, um diese Aufgabe für alle Teile der Baugruppe zu wiederholen.

Vielen Dank!

Hallo

1. Könnten Sie Ihr Makro mit uns teilen, falls andere Mitglieder dieses Problem haben?

2. Wenn ich das richtig verstanden habe, möchten Sie das Makro aus der Assembly ausführen?

1 „Gefällt mir“

Hallo

Ich habe diese Art von Makro vor einer Weile erstellt, siehe das beigefügte Beispiel.

Es muss sicherlich für Ihre Bedürfnisse modifiziert und verfeinert werden, kann aber möglicherweise helfen.

A+


remplprop.swp

Ja, das ist möglich , wenn Sie die MycadTools Suite haben.

Sie können das Dienstprogramm INTEGRATION verwenden, um das Makro für eine Reihe von Dateien auszuführen.

1 „Gefällt mir“

Hallo

Um die Liste der Komponenten einer Assembly abzurufen, müssen Sie die GetDocumentDependencies2-Funktion verwenden.

Mehr Infos hier: http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~getdocumentdependencies2.html

In einer App in VB.net gehe ich beispielsweise wie folgt vor

Aussagen:

    Dimmen Sie Application_SW als SldWorks.SldWorks
    Dimmen Sie Model_SW als SldWorks.ModelDoc2
    Dimmen Component_SW als SldWorks.Component2
    Dimmen Nom_fichier_SW als Zeichenfolge
    Liste_dependances als Objekt dimmen

 

Funktionscode:

    Funktion Acquisition_dependences(ByRef Chemin_assemblage_SW als Zeichenfolge) als Objekt
        Dimmen Type_fichier_SW Als Ganzzahl = 2
        Application_SW. OpenDoc6(Chemin_assemblage_SW, Type_fichier_SW, 0, "", longstatus, longwarnings)
        Model_SW = Application_SW. ActiveDoc (Englisch)
        Nom_fichier_SW = Model_SW. GetPathName (Englisch)
        Kehren Sie Application_SW zurück. GetDocumentDependencies2(Nom_fichier_SW, Wahr, Wahr, Falsch)
    Ende-Funktion

 

Anschließend verwenden Sie den folgenden Code, um die Funktion auszuführen:

Liste_dependances = Acquisition_dependences(Chemin_de_ton_fichier_ASM)

Dadurch wird ein Array von Zeichenfolgen in der folgenden Form zurückgegeben:

"Wenn Sie diese Methode mit einer Baugruppe verwenden, die zwei Dokumente enthält, Part1 und SubAssem1, kann Folgendes zurückgegeben werden:

 [ "Part1", "C:\temp\Part1.SLDPRT", "SubAssem1", "c:\temp\SubAssem1.SLDASM" ]

 

In der Hoffnung, Ihnen geholfen zu haben

1 „Gefällt mir“

Vielen Dank für Ihre Antworten!

Ich hänge das Makro im Anhang an Sie an!


custom-properties-automatic-naming-v3_description.swp

Wenn Ihr Problem gelöst ist, wählen Sie bitte die beste Antwort aus.

@remem: Diese Funktion gibt nur die Liste der abhängigen Freigaben zurück, nicht wahr? Ist es möglich, ein Makro auf das zurückgegebene Array anzuwenden? 

Ich gebe zu, dass ich ein wenig zu kämpfen habe: Ich muss "Nom_fichier_SW" durch den Namen der Datei ersetzen, die ich verarbeiten möchte,  oder?

Für die vorletzte Zeile, den Return, erscheint eine Fehlermeldung, ich hänge einen Screenshot an.

Tut mir leid, das sind viele Fragen, ich hoffe, du hast Zeit, mir zu helfen


capture.png
1 „Gefällt mir“

@julien. Bonus:

Sie haben die Funktion geändert, wenn Sie sie nicht tun sollten, wie ich in Ihrem Screenshot sehe.

Kopiert sowohl den Code der Deklarationen als auch den Code der Funktion, ohne sie zu ändern.

Dann in der Aufrufzeile der Funktion: Liste_dependances = Acquisition_dependences(Chemin_de_ton_fichier_ASM)

Bearbeiten Sie das kursiv gedruckte Bauteil nur, indem Sie den Pfad der Baugruppe angeben.

1 „Gefällt mir“