Makro - Block importieren + Speichern

Hallo Community,

Vielen Dank an euch alle für eure wertvollen Ratschläge durch verschiedene Beiträge. Das ist meine erste Nachricht im Forum :-)

Hier ist meine Bitte: Ich habe hundert Blöcke (. SLDBLK), die einzeln auf meinem PC im selben Ordner gespeichert sind.

Ich möchte ein Makro erstellen/ausführen, das 

Erstellen eines neuen Teils (oder Einfügen einer neuen Skizze in ein vorhandenes Teil)

Fügen Sie den Block z.B. auf dem Ursprung (setzen Sie einen Blockmaßstab x4) / auf  die vordere Ebene ein

Schließen und speichern Sie den Raum (mit dem gleichen Namen wie der Block, noch besser)

für meinen gesamten Ordner "Blöcke" automatisch 

 

Solidworks Version 2020

TB SW-Kenntnisse, Anfänger-Makro

Vielen Dank an alle für Ihren Beitrag

Herzliche Grüße

Franck / CAD-Zeichner seit 8 Jahren

Um an einem Block getestet zu werden, um zu sehen, ob es funktioniert, aber hier ist der Link zum Thema:

https://r1132100503382-eu1-3dswym.3dexperience.3ds.com/#community:yUw32GbYTEqKdgY7-jbZPg/iquestion:G8lFvoZCTzWDcYa61U3jaA

Und der Code zum Ändern der Skala put scl=4

Nehmen Sie die Antwort von RiriFifi und testen Sie den Code (normalerweise ist der Code effizient.

Wenn es gut funktioniert, müssen Sie diesen Code an alle Dateien in einem Verzeichnis anpassen, indem Sie den Namen des Blocks für die Aufnahme abrufen.

Hallo

Für Neulinge wie uns in der Makroerstellung gibt es eine Funktion zum Erfassen von Funktionen in SW. Sie starten die Aufnahme, Sie führen Ihre Manipulation durch und SW erstellt automatisch den Code dessen, was Sie auf dem Bildschirm getan haben.

Damit haben Sie 90% Ihres Makros.

Alles, was Sie brauchen, sind die Schleife(n), um die .sldblk-Datei zu ändern, sowie die Deklaration der Variablen (Name der Datensatzdatei, wahrscheinlich einige temporärere Variablen..).

 

Viel Glück

Vielen Dank für Ihr Feedback!

Ich habe mir den Link in 3dexperience angesehen, ich habe die Daten (Pfad meiner Dateien und andere) aktualisiert, aber beim Starten des Makros passiert nichts. Ich habe das besagte Makro mit einer geöffneten Datei ausgeführt, aus einer Skizze, ohne dass etwas geöffnet ist, passiert nichts... Scham

Ich habe ein Makro aufgenommen, das die Arbeit für etwa 1 Datei erledigt.

Auf der anderen Seite weiß ich nicht, wie ich einen Loop und eine Aufnahme unter dem gleichen Namen wie den Block integrieren kann. Gibt es ein Thema zu diesen Elementen, könnte es eine Alternative zu meiner Suche sein.

Vielen Dank für Ihre Zeit

 

Für das Makro haben Sie das von RIRIFIFI kopiert? 

Haben Sie das Modul der 2. Klasse 1 erstellt?

Hängen Sie das Makro aus einem ausgewählten Raum an, eine Aufnahme, starten Sie dann das Makro und es funktioniert (außer dass der Block nicht fixiert ist)

Es muss verbessert werden, aber wir kommen dem näher.

Nachdem Sie Ihre Anfrage gesehen haben, wenn Sie nur 100 Blöcke zu ändern haben, bin ich mir nicht sicher, ob die Entwicklung eines Makros, das nicht existiert, für 1000 Blöcke oder mehr schneller ist, auf der anderen Seite. 100 Block = 1 bis 2 Stunden ist viel weniger als die Entwicklung eines Makros, selbst für jemanden, der sich auskennt.


block.swp

Hallo sbadenis,

Vielen Dank für Ihr Feedback. Ja, ich glaube, ich habe das ririfififi Makro mit class1 und module1 getrennt und Daten (Dateipfad...) in Übereinstimmung mit meinen Dateien verwendet.

Vielen Dank für Ihr Makro, aber es entspricht nicht wirklich meinen Bedürfnissen. Ich für meinen Teil schaffe es mit meinem Makro, einen neuen Raum zu erstellen, den Block zum Skalieren einzufügen, zu speichern und zu schließen. Für 1 definiertes Modell.

Mir fehlt der "Schleifen"-Aspekt, der das Öffnen des nächsten Blocks automatisieren und die Aktionen reproduzieren würde.

Ich habe geschaut, aber leider bleibe ich stecken... Ich werde in den "manuellen" Modus wechseln, also

Hallo Franck,

Die Antwort kann etwas spät kommen, aber das angehängte Makro sollte Ihr Problem lösen.
Generierung der Teile mit Skizze in der Flächenebene, Einfügen am Ursprung, im Maßstab 4.
Es sollen 3 Zeilen geändert werden, um es an Ihr System anzupassen:
- Zeile 35: Quellverzeichnis von Blockdokumenten (mit der Erweiterung "SLDBLK");
- Zeile 36: Zielverzeichnis der Bauteildateien, mit dem gleichen Namen wie die Blöcke, mit der Erweiterung "SLDPRT";
- Zeile 40: Der Pfad und der Name des Standard-Teilemodells für Ihre Version von SolidWorks.

Um auf Ihrem PC zu testen...

Herzliche Grüße.

 


einfügen.swp
2 „Gefällt mir“

Super! Danke m.blt

Ich habe trotzdem einen Fehler während der Ausführung, ich werde versuchen zu verstehen ...

Zeile 42

Legen Sie swSkMgr = swModel.SketchManager fest

Ich betone, dass ich meine Wege eingerichtet habe usw.

Hat jemand eine Idee?

Vielen Dank

 

Hallo

Was ist die Art des Fehlers? Das?

Wenn dies der Fall ist, müssen Sie überprüfen, ob die Variablen Part und swModel nicht leer sind: Im Debug-Modus müssen Sie nur den Cursor über einer dieser beiden Variablen lassen, um deren Inhalt anzuzeigen.
Wenn sie gleich Nothing sind, bedeutet dies, dass die vorherige Anweisung Part = swApp.NewDocument... (Zeile 40) gibt nichts zurück, und das SolidWorks Dokument ist nicht geöffnet. Daher der Fehler beim Erstellen des Skizzenmanagers.
Die Zeichenfolge, die die Vorlagendatei definiert, ist wahrscheinlich falsch, Sie müssen sehr sorgfältig überprüfen, ob sie existiert, mit dem angegebenen Pfad (in meiner Quelldatei befindet sie sich im Ordner SW 2018).

1 „Gefällt mir“

WUNDERBAR, jetzt funktioniert alles wunderbar.

Meine Vorlage heißt in meinem Ordner "part" und nicht "part"

Ein großes DANKESCHÖN an alle und ganz besonders an  m.blt