ES
  • English
  • Čeština
  • Italiano
  • Deutsch
  • Polski
  • Français
Iniciar sesión

Scripts de post-procesamiento

Este artículo está también disponible en los siguientes idiomas: 
ENCSPLDEITFR

Hay algunas cosas que PrusaSlicer simplemente no hace. Sin embargo, usando scripts de post-procesamiento puedes modificar automáticamente el código G generado para hacer (casi) cualquier cosa que quieras.

Puede especificar la ruta del script en Configuración de impresión - Opciones de salida - Scripts de postprocesamiento.

Configuración del script

Los scripts de posprocesamiento pueden escribirse en cualquier lenguaje de programación (Perl, Python, Ruby, Bash etc.). Sólo tienen que reconocerse por tu sistema como un ejecutable y aceptar la ruta del archivo de código G como único argumento.

Si quieres ejecutar varios scripts, pon cada invocación del script en tu propia línea.

Ejecución del script

A cada script se le pasará la ruta absoluta de un archivo temporal de código G que PrusaSlicer genera. Este archivo se almacena en una carpeta temporal en tu unidad de disco (normalmente la unidad rápida del sistema). El script se ejecuta para modificar el código G en su lugar y el archivo de código G resultante se escribe en su carpeta de destino seleccionada o se envía a un host de impresión, como PrusaConnect u Octoprint.

Tenga en cuenta que el visor de código G sigue visualizando el código G antes del postprocesamiento.
PrusaSlicer pasa toda la configuración del laminado a los scripts de posprocesamiento utilizando las variables de entorno. Cada variable lleva el prefijo "SLIC3R_" y el primer nombre de la variable va en mayúsculas. Por ejemplo, la densidad de relleno se pasa al script como una variable de entorno "SLIC3R_Fill_density".
 
Dos variables de entorno adicionales se pasan a los scripts de postprocesamiento: La variable de entorno SLIC3R_PP_HOST proporciona la especificación del host, donde "File" significa copiar el código G en un disco duro local o en un medio extraíble, mientras que los otros valores ("PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...) especificar el tipo de host de impresión al que se enviará el código G.
 
La variable de entorno SLIC3R_PP_OUTPUT_NAME contiene el nombre del archivo de código G incluyendo la ruta (for SLIC3R_PP_HOST == "File") o un nombre que se le dará al archivo después de cargarlo en el host (PrusaLink, Octoprint ...)
 
El script de posprocesamiento puede sugerir un nuevo nombre de archivo de salida (probablemente basado en SLIC3R_PP_OUTPUT_NAME) guardándolo como una sola línea en un nuevo archivo temporal "output name", por ejemplo, para añadir marcas de tiempo o números de secuencia a los códigos G finales.El nombre del archivo de "output name" debe crearse sufijando el nombre del archivo de código G de entrada con ".output_name". PrusaSlicer leerá el nuevo nombre del archivo y lo manejará adecuadamente, por ejemplo, al enviarlo a Octoprint.
 

Script Parameters

Puedes usar parámetros con tu script como:

/path/to/executable se convierte en /path/to/executable con el argumento outputfilename.gcode

/path/to/executable -arg -arg2 se convierte en /path/to/executable con los argumentos -arg, -arg2, y outputfilename.gcode

Si la ruta del ejecutable o los argumentos contienen espacios, estos argumentos deben "escaparse" utilizando el estilo de escape común a la plataforma (estilo de escape del shell en Linux y OSX, escape de la línea de comandos de Windows).

Ejemplos

Python

Ejemplo de añadir un contador al nombre del archivo

Ruta del archivo final exportado (o su nombre para Octoprint)

env_slicer_pp_output_name = str(getenv('SLIC3R_PP_OUTPUT_NAME'))

Script de Python que modifica la ruta de salida

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

 

Cambios históricos y ruptura de la retrocompatibilidad

Antes de la versión 2.4, PrusaSlicer solía ejecutar el script en el código G final exportado a su medio de destino deseado. Que era muy a menudo una unidad extraíble, como una tarjeta SD. Las tarjetas SD son lentas y se desgastan, así que esto no era lo ideal. También había problemas al enviar el código G a Octoprint. El nuevo enfoque con el archivo temporal en la unidad del sistema evita estos problemas y amplía la funcionalidad de los scripts de post-procesamiento. Sin embargo, podría romper algunos de tus scripts existentes.

 

Esta página de documentación incluye algunos textos de la documentación original de Slic3r y del Bob's Project Notebook.

¿Fue útil este artículo?

Comentarios

¿Todavía tienes preguntas?

¿Todavía tienes preguntas?

Si tienes alguna pregunta sobre algo que no se ha tratado aquí, comprueba nuestros recursos adicionales.
Y si eso no lo soluciona, puedes enviar una petición a [email protected] o mediante el botón que hay más abajo.

Contacta con nosotros