DE
  • English
  • Čeština
  • Español
  • Italiano
  • Polski
  • Français
Login

Skripte für die Nachverarbeitung

Dieser Artikel ist auch in folgenden Sprachen verfügbar: 
ENCSPLESITFR

Es gibt einige Dinge, die PrusaSlicer einfach nicht kann. Mit Nachbearbeitungsskripten können Sie jedoch den generierten G-Code automatisch so verändern, dass er (fast) alles kann, was Sie wollen.

Sie können den Pfad zu dem Skript in Druckeinstellungen - Ausgabeoptionen - Nachbearbeitungsskripte angeben.

Skript einrichten

Post-Processing-Skripte können in jeder Programmiersprache (Perl, Python, Ruby, Bash usw.) geschrieben werden. Sie müssen nur von Ihrem System als ausführbare Datei erkannt werden und den Pfad zur G-Code-Datei als einziges Argument akzeptieren.

Wenn Sie mehrere Skripte ausführen möchten, fügen Sie jeden Skriptaufruf in eine eigene Zeile ein.

Skriptausführung

Jedem Skript wird der absolute Pfad einer temporären G-Code-Datei übergeben, die PrusaSlicer erzeugt. Diese Datei wird in einem temporären Ordner auf Ihrem Laufwerk (in der Regel Ihr schnelles Systemlaufwerk) gespeichert. Das Skript wird dann ausgeführt, um den G-Code an Ort und Stelle zu ändern und die resultierende G-Code-Datei wird in den von Ihnen gewählten Zielordner geschrieben oder an einen Druck-Host wie PrusaConnect oder Octoprint gesendet.

Bitte beachten Sie, dass der G-Code-Viewer den G-Code noch vor der Nachbearbeitung visualisiert.
PrusaSlicer übergibt die gesamte Konfiguration des Slicens an die Nachbearbeitungsskripte mit Hilfe der Umgebungsvariablen. Jeder Variable ist das Präfix "SLIC3R_" vorangestellt und der erste Variablenname wird großgeschrieben. Zum Beispiel wird die Infill-Dichte als Umgebungsvariable "SLIC3R_Fill_density" an das Skript weitergegeben.
 
Zwei weitere Umgebungsvariablen werden an Nachbearbeitungsskripte übergeben: Die Umgebungsvariable SLIC3R_PP_HOST liefert die Host-Spezifikation, wobei "File" bedeutet, dass der G-Code auf eine lokale Festplatte oder einen Wechseldatenträger kopiert wird, während die anderen Werte ("PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...) den Druck-Host-Typ angeben, an den der G-Code gesendet wird.
 
Die Umgebungsvariable SLIC3R_PP_OUTPUT_NAME enthält den Namen der G-Code-Datei einschließlich Pfad (für SLIC3R_PP_HOST == "File") oder einen Namen, der der Datei gegeben wird, nachdem sie auf den Host hochgeladen wurde (PrusaLink, Octoprint ...)
 
Das Nachbearbeitungsskript kann einen neuen Namen für die Ausgabedatei vorschlagen (wahrscheinlich auf der Grundlage von SLIC3R_PP_OUTPUT_NAME), indem es ihn als einzelne Zeile in einer neuen temporären Datei mit dem Namen "output_name" speichert, z.B. um den endgültigen G-Codes Zeitstempel oder Sequenznummern hinzuzufügen.

Der Dateiname "output_name" wird durch Anhängen des Dateinamens des Eingabe-G-Codes mit ".output_name" erstellt. PrusaSlicer wird den neuen Dateinamen lesen und ihn richtig behandeln, zum Beispiel beim Senden an Octoprint.
 

Skript-Parameter

Sie können Parameter in Ihrem Skript wie folgt verwenden:

/path/to/executable wird zu /path/to/executable mit dem Argument outputfilename.gcode

/path/to/executable -arg -arg2 wird zu /path/to/executable mit den Argumenten -arg, -arg2 und outputfilename.gcode

Wenn der Pfad zur ausführbaren Datei oder die Argumente Leerzeichen enthalten, müssen diese Argumente mit dem für die jeweilige Plattform üblichen Escaping-Stil (Shell-Escaping-Stil unter Linux und OSX, Windows-Kommandozeilen-Escaping) maskiert werden.

Beispiele

Python

Beispiel für das Hinzufügen eines Zählers zum Dateinamen

Pfad zur endgültigen exportierten Datei (oder ihr Name für Octoprint)

env_slicer_pp_output_name = str(getenv('SLIC3R_PP_OUTPUT_NAME'))

Python-Skript, das den Ausgabepfad ändert

with open(sourcefile + '.output_name', mode='w', encoding='UTF-8') as fopen:
fopen.write(counter + '_' + env_slicer_pp_output_name)

 

Historische Änderungen und Aufhebung der Abwärtskompatibilität

Vor Version 2.4 hat PrusaSlicer das Skript auf dem endgültigen G-Code ausgeführt, der auf das gewünschte Zielmedium exportiert wurde. Dabei handelte es sich sehr oft um ein Wechsellaufwerk, wie z.B. eine SD-Karte. SD-Karten sind langsam und nutzen sich ab, so dass dies nicht ideal war. Außerdem gab es Probleme beim Senden des G-Codes an Octoprint. Der neue Ansatz mit der temporären Datei auf Ihrem Systemlaufwerk verhindert diese Probleme und erweitert die Funktionalität von Nachbearbeitungsskripten. Allerdings könnten dadurch einige Ihrer bestehenden Skripte nicht mehr funktionieren.

 

Diese Dokumentationsseite enthält einige Texte aus der originalen Slic3r-Dokumentation und aus Bob's Project Notebook.

War dieser Artikel hilfreich?

Kommentare

Sie haben noch Fragen?

Sie haben noch Fragen?

Wenn Sie eine Frage zu etwas haben, das hier nicht behandelt wird, sehen Sie sich unsere zusätzlichen Ressourcen an.
Und wenn das nicht ausreicht, können Sie über die Schaltfläche unten oder an die [email protected] eine Anfrage senden.

Kontakt