Different filament run-out problem on P1P

After loading new filament and resuming the print, it appeared to be working, and there was no layer shifting, so I quit watching it.

Layer Separation

When the print was complete, I found that the part that printed after the filament run-out and resume had mostly separated from the layer below. Because I have tested the filament run-out multiple times to verify the layer shift was fixed, I am assuming that somehow the conditions were different this time. The following is mostly an educated guess.

It is possible that I did not immediately notice the filament run-out. Bambu Studio does present a warning dialog, but it does not integrate with Windows notifications or have an audible alert. Therefore, it is possible that more that 1 or 2 minutes passed before I realized that filament had run out.

If enough time passed waiting for me to go and load filament all but the bottom of the print that was stuck to the bed could have cooled down to ambient temperature. The print was about 12mm tall when filament ran out so I imagine the bed heat would not keep the top of the print warm.

Normally the previous layer of a print is still very warm when the next layer is printed. The new layer easily fuses to the previous layer by being hot enough to melt the top surface of the previous layer. With the previous layer much cooler than normal and at the speed that the P1P prints I think that the new layer had trouble completely fusing with the previous layer. It looked fine when it was printed, but because it was only partially fused and inconsistent for the entire area between the layers, it would not be strong. This was also a part with a fairly thin wall. As the remaining 40mm were printed the cooling of layers above the restart point caused a small about of contraction which resulted in a partial separation at the restart point when the print was complete.

Removing the print from the bed resulted in total separation at the restart point.

Possible Remedy

If the printer resumed printing at a much slower speed after filament run-out then there would be more time for the new extrusion to transfer heat into the previous layer and fuse better. (I think)

Of course the printer cannot start rewriting the G code on the fly. However, BBL printers have the ability to globally change printing speed with the print mode during a print. In addition, the G code reports the layer changes. I do not know if the printer can set the speed to a specific percentage or not. The UI only allows the four defined settings. For this purpose it might be better if the printer could control the speed at a more granular level, as 50% might not be slow enough.

When the printer resumes from filament run-out, record the current layer number, set the speed mode to silent or slower for the next two layers. Then return to normal speed.

Hopefully someone more experienced can comment about the possibility of this working.

If I have time, I might try to test my theory by manually changing the speed mode before resuming.