Hola nexocomun,
Precisamente a mi me pasó eso hace un par de días, y me quedé congelado al ver cómo 6 piezas se me habían quedado a medias en una impresión de más de 2 horas y media. Conseguí resolverlo de una manera completamente artesanal, te detallo cómo:
Tras comprobar igual que tú, que no había forma humana de que la cosa reemprendiera "milagrosamente", barajé la posibilidad de olvidarme de la impresión, despegar las piezas fallidas y volver a empezarlas, pero había superado el 50% del proceso y se me antojaba demasiado plástico tirado a la basura.
La primera clave que me ayudó fue que yo utilizo coordenadas absolutas (se puede configurar en Slic3r), por lo que la impresora podría "encontrarse" aunque hubiera perdido la referencia exacta de su última posición haciendo un homing.
-Paso 1: asegurarme de que las piezas no se iban a despegar. Puse la cama a calentar a todo trapo, cuando vi que la gráfica se estabilizaba me puse a trabajar en el G-code.
-Paso 2: aún conservaba el G-code que se estaba ejecutando, por lo que lo seleccioné todo y lo pegué en un documento del bloc de notas.
-Paso 3: buscar la última línea ejecutada. Si utilizas Repetier, dentro de la pestaña G-code, hay una pestaña abajo donde pone visualización, y dos botones: primera capa y última capa, cada uno de los cuales tiene al lado un campo para introducir el número de capa.
Sirven para buscar una capa en el G-code. Debes marcar la opción "Mostrar una capa" Si introduces el número al lado de "primera capa" y pulsas, te llevará a las primeras líneas de dicha capa; y si introduces el número al lado de "última capa" y pulsas, te llevará al final. En tu caso introducirías el número 160 y pulsarías, hazlo utilizando el botón primera capa. El cursor se desplaza automáticamente. Comprueba que en la línea de texto que hay debajo pone Capa 160. Es la misma línea en la que aparece el tiempo estimado de impresión.
-Paso 4: la primera línea de cada capa incluye el valor de z para esa capa (EN ADELANTE $$.$$$), apúntalo pues luego será muy importante. buscar la línea de G-Code EXACTA en la que nos hemos quedado, si antes habías seleccionado la opción "Mostrar una capa" y has buscado tu capa utilizando el botón "primera capa", el cursor estará en la primera línea de dicha capa. Utilizando las teclas de flechas del teclado puedes desplazarte hacia arriba y hacia abajo, verás que cada línea se corresponde con un fragmento de trazo de la capa, porque se va poniendo en amarillo según sitúas el cursor sobre cada línea en el G-code. Debes encontrar la última línea de G-code que ejecutó tu impresora, teniendo en cuenta la información que te de tu pieza última posición del extrusor, cuánto relleno echó, etc...
-Paso 5: Copia la línea al portapapeles (ctrl+c) y vuelve al bloc de notas. Con la opción buscar (edición->buscar) busca la línea exacta con ese contenido. Previsiblemente debería haber un único resultado. Si por cualquier cosa hay más de uno (que coincidan dos trazos uno sobre otro en capas sucesivas), debes repetir la búsqueda con alguna línea cercana. No puedes permitirte el lujo de equivocarte y hacer tu pieza más gorda o más fina.
-Paso 6: Selecciona la última línea que se ejecutó, y utilizando ctrl+Mayús selecciona desde ella hasta arriba del todo, y elimínalo. Ahora la primera línea en el bloc de notas es la primera línea que tu impresora no llegó a ejecutar antes de quedarse bloqueada. Ese g-code permitiría a tu impresora continuar si no hubieras tocado nada, y la impresora recordara su posición con las coordenadas exactas. Pero no vamos a ser tan optimistas y vamos a dar una solución más segura:
-Paso 7: Si tu primera línea del bloc de notas contiene una instrucción G1 con argumento E&&.&&&, elimínalo por completo, pero recuerda el valor de &&.&&&. Por ejemplo:
Código:
G1 XAA.AA YBB.BB E&&.&&&; puede tener coordenadas X, Y o Z, esas no las toques
Quedando
Código:
G1 XAA.AA YBB.BB; puede tener coordenadas X, Y o Z, esas no las toques
-Paso 8: Añade las siguientes líneas AL PRINCIPIO DEL BLOC DE NOTAS:
Código:
G21 ; set units to millimeters
G28 X ; home X
G28 Y ; home Y
G92 E&&.&&&; utilizando el valor del paso 7
Y AHORA DOS OPCIONES:
Si no has movido el eje Z desde el parón:
Código:
G92 Z$$.$$$ ; siendo $$.$$$ el número que apuntaste antes.
El comando G92 establece la altura actual de Z en el valor que tenía, de forma que cuando cambie de capa, únicamente suba un poquito, y no se pegue un viaje enorme por pensar que ha empezado en 0.
Dicho en otras palabras, el comando G92 hace que la impresora CREA QUE ESTÁ donde tú le digas.
Si has movido el eje Z (mal asunto, ya que tendrás que hacer homing, y a lo mejor no tienes sitio).
Código:
G28 Z; home Z
G1 Z$$.$$$ ; siendo $$.$$$ el número que apuntaste antes.
Asegúrate de que todas las nuevas líneas que correspondan a tu caso están al principio de toda otra instrucción.
Copia el nuevo g-code a la pestaña G-code de Repetier, sustituyendo completamente al anterior.
-Paso 9: Activa manualmente el calentador del extrusor y el ventilador si lo usas, hasta que todo alcance la temperatura de impresión habitual.
-Paso 10: Pulsa imprimir, si todo ha ido bien, y tienes tanto correas como corrientes bien ajustadas, la impresión debería continuar como si nada.
A mi me funcionó :yeah: Pero un software que hiciera (al menos parte de) estos pasos automáticamente sería la monda.
P.D. Voy a añadir este tuto al hilo de mi impresora, que me ha quedado guay.
Saludos!