FR
  • English
  • Čeština
  • Español
  • Italiano
  • Deutsch
  • Polski
Se Connecter

Scripts de post-traitement

Cette article est également disponible dans les langues suivantes : 
ENCSPLDEESIT

Il y a certaines choses que PrusaSlicer ne fait tout simplement pas. Cependant, en utilisant des scripts de post-traitement, vous pouvez modifier automatiquement le G-code généré pour faire (presque) tout ce que vous voulez.

Vous pouvez spécifier le chemin d'accès au script dans Réglages d'impression - Options de sortie - Scripts de post-traitement.

Mise en place des scripts

Les scripts de post-traitement peuvent être écrits en n'importe quel langage de programmation (Perl, Python, Ruby, Bash, etc.). Ils doivent simplement être reconnus par votre système en tant qu'exécutable et accepter le chemin d'accès au fichier G-code comme seul argument.

Si vous souhaitez exécuter plusieurs scripts, placez chaque invocation de script sur sa propre ligne.

Exécution de scripts

Chaque script recevra le chemin absolu d'un fichier G-code temporaire généré par PrusaSlicer. Ce fichier est stocké dans un dossier temporaire sur votre disque (généralement votre disque système rapide). Le script est ensuite exécuté pour modifier le G-code sur place et le fichier G-code résultant est écrit dans le dossier cible sélectionné ou envoyé à un hôte d'impression, tel que PrusaConnect ou Octoprint.

Veuillez noter que la visionneuse de G-code visualise toujours le G-code avant le post-traitement.
PrusaSlicer transmet toute la configuration de découpage aux scripts de post-traitement à l'aide des variables d'environnement. Chaque variable est préfixée par "SLIC3R_" et la première du lettre du nom de variable est en majuscule. Par exemple, la densité de remplissage est transmise au script en tant que variable d'environnement "SLIC3R_Fill_density".
 
Deux variables d'environnement supplémentaires sont transmises aux scripts de post-traitement : la variable d'environnement SLIC3R_PP_HOST fournit la spécification de l'hôte, où "File" signifie copier le G-code sur un disque dur local ou un support amovible, tandis que les autres valeurs ("PrusaLink", "Repetier ", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...) spécifie le type d'hôte d'impression auquel le G-code sera envoyé.
 
La variable d'environnement SLIC3R_PP_OUTPUT_NAME contient le nom du fichier G-code incluant le chemin (pour SLIC3R_PP_HOST == "File") ou un nom qui sera donné au fichier après son téléchargement sur l'hôte (PrusaLink, Octoprint ...)
 
Le script de post-traitement peut suggérer un nouveau nom de fichier de sortie (probablement basé sur SLIC3R_PP_OUTPUT_NAME) en l'enregistrant sur une seule ligne dans un nouveau fichier temporaire "nom de sortie", par exemple pour ajouter des horodatages ou des numéros de séquence aux G-codes finaux. Le nom du fichier "nom de sortie" doit être créé en suffixant le nom de fichier de G-code d'entrée avec ".output_name". PrusaSlicer lira le nouveau nom du fichier et le traitera correctement, par exemple lors de son envoi à Octoprint.
 

Paramètres des scripts

Vous pouvez utiliser des paramètres avec votre script de cette façon :

/path/to/executable devient /path/to/executable avec l'argument outputfilename.gcode

/path/to/executable -arg -arg2 devient /path/to/executable avec les arguments -arg, -arg2 et outputfilename.gcode

Si le chemin vers l'exécutable ou les arguments contiennent des espaces, ces arguments doivent être échappés en utilisant le style d'échappement commun à la plate-forme (style d'échappement du shell sous Linux et OSX, échappement de la ligne de commande Windows).

Exemples

Python

Exemple d'ajout d'un compteur au nom de fichier

Chemin d'accès du fichier final exporté (ou son nom pour Octoprint)

env_slicer_pp_output_name = str(getenv('SLIC3R_PP_OUTPUT_NAME'))

Script Python qui modifie le chemin de sortie

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

 

Changements historiques et rupture de compatibilité descendante

Avant la version 2.4, PrusaSlicer exécutait le script sur le G-code final exporté vers le support cible souhaité. Qui était très souvent un lecteur amovible, comme une carte SD. Les cartes SD sont lentes et s'usent, donc ce n'était pas idéal. Il y avait aussi des problèmes lors de l'envoi du G-code à Octoprint. La nouvelle approche avec le fichier temporaire sur votre disque système évite ces problèmes et étend la fonctionnalité des scripts de post-traitement. Cependant, cela pourrait casser certains de vos scripts existants.

 

Cette page de documentation comprend des textes de la documentation originale de Slic3r et du Bob's Project Notebook.

Cet article vous a-t-il été utile ?

Commentaires

Vous avez encore des questions ?

Vous avez encore des questions ?

Si vous avez une question sur un sujet qui n'est pas traité ici, consultez nos ressources supplémentaires.
Et si cela ne suffit pas, vous pouvez envoyer une demande à [email protected] ou via le bouton ci-dessous.

Nous contacter