PL
  • English
  • Čeština
  • Español
  • Italiano
  • Deutsch
  • Français
Login

Skrypty do przetwarzania końcowego

Ten artykuł jest dostępny również w tych językach: 
ENCSDEESITFR

Są pewne rzeczy, których PrusaSlicer po prostu nie potrafi zrobić. Jednak używając skryptów do przetwarzania końcowego możesz automatycznie zmodyfikować wygenerowany G-code, aby zrobić (prawie) wszystko, co chcesz.

Ścieżkę do skryptu możesz podać w menu Ustawienia druku - Opcje wyjściowe - Skrypty do przetwarzania końcowego.

Ustawienie skryptu

Skrypty przetwarzania końcowego można napisać w dowolnym języku programowania (Perl, Python, Ruby, Bash itd.). Muszą tylko zostać rozpoznane przez Twój system jako plik wykonywalny i przyjąć ścieżkę do pliku G-code jako jedyny argument.

Jeśli chcesz uruchomić kilka skryptów, umieść każde wywołanie skryptu w osobnej linii.

Wykonanie skryptu

Każdemu skryptowi zostanie przekazana bezwzględna ścieżka do tymczasowego pliku G-code, który generuje PrusaSlicer. Plik ten jest przechowywany w folderze tymczasowym na dysku (zazwyczaj jest to szybki dysk systemowy). Skrypt jest następnie wykonywany, aby zmodyfikować G-code, a wynikowy plik G-code jest zapisywany do wybranego folderu docelowego lub wysyłany do serwera druku, np. PrusaConnect lub Octoprint.

Pamiętaj, że przeglądarka G-code wizualizuje G-code przed post-processingiem.
PrusaSlicer przekazuje całą konfigurację cięcia do skryptów do przetwarzania końcowego za pomocą zmiennych środowiskowych. Każda zmienna ma prefiks "SLIC3R_" i pierwsza litera zmiennej jest pisana wielką literą. Na przykład, gęstość wypełnienia jest przekazywana do skryptu jako zmienna środowiskowa "SLIC3R_Fill_density".
 
Dwie dodatkowe zmienne środowiskowe są przekazywane do skryptów do przetwarzania końcowego: zmienna środowiskowa SLIC3R_PP_HOST dostarcza specyfikacji hosta, gdzie "File" oznacza skopiowanie G-code na lokalny dysk twardy lub nośnik wymienny, natomiast pozostałe wartości ("PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...) określają typ hosta druku, do którego zostanie wysłany G-code.
 
Zmienna środowiskowa SLIC3R_PP_OUTPUT_NAME zawiera nazwę pliku z kodem G, w tym ścieżkę (dla SLIC3R_PP_HOST == "File") lub nazwę, która zostanie nadana plikowi po przesłaniu go do hosta (PrusaLink, Octoprint...)
 
Skrypt przetwarzania końcowego może zasugerować nową nazwę pliku wyjściowego (prawdopodobnie opartą na SLIC3R_PP_OUTPUT_NAME), zapisując ją jako pojedynczą linię w nowym pliku tymczasowym "z nazwą wyjściową", na przykład w celu dodania znaczników czasu lub numerów sekwencji do końcowych G-kodów. Nazwa pliku "z nazwą wyjściową" ma być utworzona przez przyrostek nazwy pliku wejściowego G-code z ".output_name". PrusaSlicer odczyta nową nazwę pliku i odpowiednio ją obsłuży, na przykład podczas wysyłania do Octoprint.
 

Parametry skryptu

Możesz użyć parametrów ze swoim skryptem w taki sposób:

/ścieżka/do/pliku wykonywalnego staje się /ścieżka/do/pliku wykonywalnego z argumentem outputfilename.gcode

/ścieżka/do/pliku wykonywalnego -arg -arg2 staje się /ścieżka/do/pliku wykonywalnego z argumentami -arg, -arg2 oraz outputfilename.gcode

Jeśli ścieżka do pliku wykonywalnego lub argumenty zawierają spacje, to argumenty te wymagają sekwencji unikowej w stylu escape'owania wspólnego dla danej platformy (styl sekwencji unikowej powłoki w Linuksie i OSX, sekwencja unikowa linii poleceń Windows).

Przykłady

Python

Przykład dodania licznika do nazwy pliku

Ścieżka do końcowego eksportowanego pliku (lub jego nazwa dla Octoprint)

env_slicer_pp_output_name = str(getenv('SLIC3R_PP_OUTPUT_NAME'))

Skrypt w Pythonie modyfikujący ścieżkę wyjściową

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

 

Zmiany historyczne i przerwanie kompatybilności wstecznej

Przed wersją 2.4 PrusaSlicer wykonywał skrypt na końcowym G-kodzie wyeksportowanym na wybrany nośnik docelowy, który bardzo często był dyskiem wymiennym, takim jak karta SD. Karty SD są wolne i zużywają się, więc nie było to idealne rozwiązanie. Były też problemy przy wysyłaniu G-code do Octoprint. Nowe podejście z plikiem tymczasowym na dysku systemowym zapobiega tym problemom i rozszerza funkcjonalność skryptów przetwarzania końcowego. Może jednak popsuć niektóre z istniejących skryptów.

 

Ta strona dokumentacji zawiera niektóre teksty z oryginalnej dokumentacji Slic3ra oraz z "Bob's Project Notebook".

Czy ten artykuł był pomocny?

Komentarze

Wciąż masz pytania?

Wciąż masz pytania?

Jeśli masz pytanie dotyczące czegoś, czego nie opisaliśmy, to sprawdź dodatkowe zasoby.
A jeśli to nie działa, możesz wysłać zgłoszenie na [email protected] lub klikając poniższy przycisk.

Kontakt