I've kept hold of several large-ish failed prints, now having seen this, I think I can save some of them, and I no longer fear the dreaded air printing. Super useful vid Stefan, thank you so much.
Once you've taken the piece off the bed, how will you re-position it on the bed and make sure it lines up in order to finish it? Maybe I missed something in the video. I plan to watch it again.
@@dangerous8333 It was Stefan's first tip, if you can workout when it failed and then 'sink' the model in a Slicer, then simply print the remainder and glue together. It's almost obvious but the thought never even crossed my mind, sometimes you can't see the wood for the trees!
Dan was correct though, Stefan ALSO said it was VERY important NOT to move the print in the X/Y axis, like with a removable build surface, as there is no way to line those back up, even if you get the Z height calculated.
@@brandonwatts5435 he isn't taking about finishing the print with the failed part on the bed, but to print the failed section on the bed and glue it to the existing model.
@@dangerous8333 I think in a possible way: restart the same failed print with the same gcode, and print two or thee layers. Stop the printing. Use a sharpie to mark the position in the bed. Remove the two or three layers. Place the failed print in the marked position. Do the Stephan's procedure then.
Resuming a failed 3D print - worth the hassle or just dump and re-print it? *NOTE: This video covers the approach that works very well with GCode from PrusaSlicer and relative extrusions. If you're using CURA and notice that your slicer spits out absolute extrusion amounts (M82) then check the website article. The process of editing your G-code file might be slightly different!* www.cnckitchen.com/blog/guide-resuming-a-failed-3d-print
It could depend on the print, but mostly I think armed with this knowledge it does not become a hassle, more like a slight inconvenience, so totally worth it.
The only thing i would like to add to this, is a lot of times i have resumed prints i needed to add in a G92 E*** where *'s are a number close to the next extrusion. otherwise the printer will reject the GCode because it thinks you are trying to do a massive extrude (from E0 to E1000 for example). setting it to the nearest rounded down number allows the printer to continue printing!
this was exactly what i was wondering about since i normally print relative mode and this doesn't matter when gcode is in relative but in absolute mode it absolutly does matter. thank you for posting as i thought this is what i needed to do but wasn't exactly sure
@@chloeanne4305you’ve likely figured it out, but when you search the gcode to find the Z height, if you look at the line of code right above it, there is an E number. I always copy that number before deleting all the code that has already printed, and where g92 says “E0” I paste the new E number in. Otherwise my extruder just spews filament out onto my print.
Thank you Stefan!!! One of the most useful videos I've seen about 3d-printing in the last 10 years. I can't even remember how many failed prints I could not recover.
Stefan, I have been watching your videos for quite some time now and I have to day that you are one of the best content creators out there for 3D printing enthusiasts. You have a great balance of fun things, as well as MANY things that are incredibly helpful. Keep doing what you are doing, my friend. YOU ROCK
I don't own a 3D printer, but I've watched a ton of videos because I want to get one someday. And I have to say this is one of the top videos I've watched. Nice job! I'm sure a lot of makers will be using your methods to save failed printer.
Thank you for this. I was able to use your article to successfully resume a print that failed 8 1/2 hours in. My extruder stepper lost power and I had to replace a cable that took me a week to get ordered in and replaced. Fortunately I left the print in place on the bed and it did not detach during that time. Using your instructions I was able to restart my print like nothing ever happened!
If you delete "everything up to the G28", make sure there isn't a G29 somewhere before that, as bed probing pretty much certainly crashes into your unfinished print...
On that note, G28 automatically triggers mesh bed leveling on Prusa printers equipped with it, so if you use a Prusa printer with bed leveling replace G28 with G28 W (tested on i3 Mk2S)
@@clancywiggum3198 if you see this what would be the course of action to not get it to level on a Ender 3 pro with a Cr touch because I can’t figure that out
@@calebdipaolo Note - use this at your own risk, I don't have an Ender 3 to test this on, but a quick search suggests that G28 does not trigger mesh bed leveling on BLTouch equipped E3s, instead using the separate G29 code after homing. (See first comment in this thread as well)
For Prusa MK3 users: When manually setting the Z-Height on a Prusa MK3 I have found that the M211 S0 command is invalid. So, instead I set a bogus G92 with a Z value large enough I can lower the z-axis to the last layer printed. Hope this helps and thank you Stephan this tutorial has saved a bunch of filament. I've come back so many time I finally decided to write myself a cheat sheet.
Thank you a lot Stefan! I was 22 hours into a 56 hours print, and lost power for a split second. I am running Klipper on my Ender 3 S1, and although I wasn't able to home Z to follow your tutorial, so I re sliced the rest of the file, and printed with the new Z 0 being at the height where it left off.
I'm alwaya asking myself why It was never included to the fismware some function to "rewind" gcode until you can visually see it touching the print. It would be super handy.
I second your thoughts 💭.. must be some considerations stopping developing such an idea. Odd indeed.. “like why can’t the print head just ‘find’” the model using the pinda sensor, after a failure like this.. and resume code..
@@BenjaminRayner which kind of sensor is it? Because if it is a "bl touch" like sensor it needs to test lot of points to be sure not to be in an hole of the infill. Also the clog could not give a super clean end, it might be some under extrusion or some highspot. With rewind you could slowly dig the highspot and arrive almost exactly (almost) to the point the extrusion started to be inconsistent. For narrow prints shoudn't make so much difference but for wide ones printer could have already print quite a bit of the layer before the filament end or the clog
One of the best 3d printing resources on the internet! About a week after you posted the video on converting a to the duet 3 mini wifi my Rambo control board heated it’s last bed. Followed your super clear tutorial and resurrected the ol pig in no time. Thank you for continuing to share your wealth of knowledge with the community!
Stefan, just wanted to say thanks for the great info here. It helped me save a 62 hour print after power outage with 30 minutes left. I normally run from the SD card on the printer for longer prints to take advantage of PLR but this one was running straight from a raspi running OctoPrint. Your video helped me save the print and I thank you. Keep up the great work.
Thanks Stefan. I was able to save an overnight print after my filament ran out. Following your instructions was simple and your calm, straight-forward delivery turned a potentially stressful situation into a learning experience. It also saved filament and about 18 hours.
I suggest doing the resume layer at much slower speed (around 10%) as well. Not only will that help layer adhesion by radiating heat into the previous layer that was likely just sitting there cooled and thus making it more likely to stick, but if you end up running the nozzle through a slightly taller section of the layer (like from warping) or previously printed part of the layer, the slower speed can allow for the nozzle to melt its way through with minimal damage to the machine. This might not be as important on lower, more normal layer heights, but the 0.8mm-1.12mm layer heights I work with at work, it makes a huge difference. Obviously it's not ideal to have the nozzle plowing through the previous layer and it turns out very ugly, but for practical parts, the strength and successfulness is more important.
You just saved a ton of people from a bunch of headaches and wasted material!!!!!!! Can’t believe it took this long for someone to make a video about this.
I just had a thought on resuming failed prints that you have moved on the bed. Print one layer on bed then place part ontop and resume either where left off or breakpoint minus 1 layer depending. :)
@@octimus2000 i think they are saying to print the first layer of the print again. so you know where the (failed) part was and can place it in that same positon
Honestly, I can remember Anus's video couple years ago on CAD tricks for designing better printable parts that was and still is two orders of magnitude more useful than this. Not saying that this one isn't useful (other than being biased around marlin and unnecessarily long, it's okay), but that one is on the whole other level. Go watch it.
I know that this is 3 years later since you posted this help. But for Fentonbury, Tasmania I thank you as this has helped me save a partial print. No doubt one of many more to come.
Thank you so much for sharing this! Just had my second „print in the air“ because the nozzle was blocked a few hours ago and was thinkin that there has to be a better solution than starting over. You are one of the three content creators (I know 😊) in the 3D printing space who‘s offering continuously useful content. And to top this your focus is always on teaching and not on selling! Thanks again.
Thanks Stefan. I just saved a 14 hour 350g purely functional print with this tutorial. Especially appreciate the guidance on how to rehome the axes when the print is too big. It worked out perfectly and I am now more confident in manually editing the g-code in the future.
Great video! Although I think you forgot to add that you need to set the extuder position before you have it start printing. Atleast when slicing with cura, the extuder position does not get reset with every layer. So when you do just the steps you mentioned, it is going to go to the start position and extude out a boatload of filament before actually resuming. You will need to have a G92 E{extruder position} command. The extruder position will need to be the last E value from the commands that were deleted. You can also leave the hotend at the resume z height and use a G92 Z{height} to set the current z height to avoid having it home and dislodge or crush the print. Then you can have it just home X and Y with: G28 X Y Clearly I've made this mistake of not setting the extruder position many times
@@chloeanne4305 when you search for the layer you want to resume at with a z{height} (ex "z1.8" if you need to resume at 1.8), you should get to a G0 command with one of the parameters being the z{height} you are searching for. Before you delete the lines above that G0 command, scan line by line above this G0 command for a line (usu a G1 command) that has a parameter of E{numberA}. This number that follows E is what you want to plug in at G92 E{numberA} since this is the last extruder position prior to starting the layer you would like to resume. Makes sense?
Make sure to also remove any wiping maneuvers and other moves if they move into the print area. Some code drag the nozzle from an edge all the way to center and that can be catastriphic.
YES!!! Thanks Stefan! I had a clog in a 12 hour print and thought THIS time I'm going to save the thing instead of chucking it out and starting over. Your instructions helped me find the right spot in my gcode, delete everything in between and restart. It picked up right where it left off.
Thank s lot Stefan, i was avoiding massive 3d prints because of fear air printing and other interruptions. But today i managed to fix one large interrupted print, thanks to your tips!
Last but not least, especially if there are collision problems with a restart, there is always the option of printing the remainder separately and gluing the two pieces afterward. If the remainder has disconnected pieces a wide brim that is removed after gluing can temporarily connect these volumes.
I feel really stupid for not thinking of this. All of my recoveries have been manual re-height, manual re-slice, etc. Sometimes with 20+ minutes of re-positioning the part because the bed cooled before I could catch the failure. Chopping the model in the slicer and gluing would be SO MUCH EASIER! :P
I had a momentary power failure just minutes after watching this video, and thanks to this advice I was able to get my print running again quickly. Thanks!
PSA: Prusa printers with mesh bed leveling automatically level the bed when sent G28, so regardless of print position on the bed sending G28 will break the print. If you can home safely you need to do so by replacing G28 with G28 W, which instructs the printer to home without repeating bed probing (tested on i3 Mk2S)
@@chrismoro8858 i know bit late but u had the same problem so i changed the safe home position in the printer.cfg so it would home somewhere else and after saving and restarting instantly change bed temperature to what you need before homing
Thanks, Stefan due to your tutorial I was able to continue a 40 hr. print, with only a small line to distinguish the continuation of the print. Thanks again!
Thank you so much, you just saved a time critical print for a gift. Sucessfully resumed a print 5 hours in after a filament change resumed at the wrong height. Running Ender 3 with octoprint and sliced on cura, rescued it on the third attempt with a spare pair of hands on the power switch.
It's important to note that the extrusion mode must be set to relative ( m83) the first time you make your gcode file in the slicer, because it won't work if it was in absolute mode.
i watched this nearly a week ago, got up this morning to my printer had lost connection to my Pi, got the height, checked it again, did the gcode thing and off it went, perfect, thanks bud
This video couldn't have shown up at a better time, just after watching it I left a print overnight and the extruder clogged, and I used the tips to resume it. Many thanks!
I have resumed a failed print thanks to this video, it is wonderful. It wasn't really failed, but I forgot this spool was low, but same idea. Thank you so much Stefan wonderful video.
I watched this a while ago and forgot about it, today it saved me :D Actually managed to resume a print even after loosing XY position, minimal layer shift I was able to correct after a few layers...nothing a bit of sanding and filler can't fix. Thanks Stefan!
Managed to do it today with a Voron 2.4r2. Had to put some flat surface on the print to do the quad leveling, tricking the printer to think it was doing it on the bed. Then homed Z again, recalibrate Z according to the print height... and then recalibrate x and y too... was not so easy, but I managed to save a 18h print...
Never thought it was possible to recover a print like that. Genius. Thanks for the useful information as always. You make one of the most essential and best channels for 3D printing!
Bro! Thank you so much for this video, earlier today I came home to the dreaded "air printing" on a 20 hour print expecting it to be done only to find out it starting air printing around 17 hours, I just followed your video and thanks to you, my print is sitting at 96% and almost done!! You are the man!! Thank you!
This is fantastic. I was just having a big print fail because filament ran out. With this video I was able to salvage it quite nicely and there isn't even a visible seam! Thanks a lot, Stefan!
Seria mas facil grabar un timelapse donde se apreciara el dato de altura Z en la pantalla,luego hay que irse al gcode y editarlo para que inicie donde se descontinuo la impresion
Thanks! I got this issue yesterday and try to find something for the NOT HOMING issue. At the end I try to print the part missing on a side, but definitely I will try again with a "provoque" power off to try this method and already get the idea of what to do in a future! Thanks for all the detail explanation! That was really helpful
This just saved my overnight print which stopped from over temp shutdown! i would not have had enough filament to start over from scratch! Im so happy, thank you!
We had a power outage in Frankfurt am Main this evening.... My print already had some 8h, and is still 20h to go..... So I had to re-visit your video here again ;-) And now everything is continuing again smoothly ;-) Thank you for this very very valuable documentation!
As always, you are one of the best in the 3D printing community and probably the one who got me the most into it, Stefan. Your videos are always awesome and super helpful! Keep it up!
Thank you for this detailed guide on saving valuable printings in terms of time and material, sometimes having a big failed print feels so frustrating and this gives one a last chance not to let this lost.
I just had a 34 hour print fail on hour 18 and was really ticked off then I remembered this video! I ended up using the serial log on Octoprint to give me the last command sent to my printer before the failure so it picked up exactly where it left off. It's looking good so far! Thank you so much!!! 😁
This is amazing. I assumed this kind of thing was impossible or not worth it. But the "look for features and retraction zits in the gcode" seems super clear after seeing it. Going to have to home my printer while watching it to figure out where I should print tall things for easy homing. Heat creep is a huge issue on my old Replicator 2x. You're a wizard, Stefan!
Well you certainly earned the like, litterally the morning after you posted this i had a fail in a multi-day print, thanks to this I got it printing with very little trouble
The double ruler trick is great! But yes, the calipers is the best way to do this for sure! Never used the printer as a CMM, that is brilliant! I agree, next layer is better for sure, we have tried the same layer, it can be a pain in the butt! But man, these days, this is not common! Materials have gotten so much better in the last 5 years or so. Great Video!
I had two failed prints due to a "Move exceeds maximum extrusion" error. Each print was 90% complete and took half a spool of filament to get where it was when the error hit! Infuriating. I was able to figure out the issue and fix it, but you saved me from having to do a third print from scratch!! Thank you so much for this great content.
Woke up at 5:30 am to the sound of my printer making a loud THUNK 40% in to a 24 hour long print set to use an entire spool of filament. This video saved me. THANK YOU
Finally a video on this. I have been doing this for years and couldn't understand why all of the "experts" on youtube just lament a failed 4 day print and then "here is another one i printed". I am writing this at the same time as watching the video and Stephan is reading my mind or my comments. Make sure you keep the bed on. Also move one of the motors or in another way make sure the motors are powered. DO NOT TOUCH ANYTHING if the motors are unpowered. Send a move command usually works. I measure the height of the failure or look at the 3d model in the slicer for a visible point. Using the nozzle is great too. The double extrusion of the layer... lol... he is faster than me. You need to be one layer higher since the printer needs to put the new first layer plastic somewhere. I dont think keeping G28 is a good idea ever unless you moved the gantry while unpowered. I remove the g28 if you have kept the motors powered the since the printer doesnt need to home again. The only other thing I would change would be the printing speed on the first recovered layer since you want a good bond and there might be some jagged bits. This requires changing just a few entries. You have already identified the layer you want to recover and see the Z 5.20 (or whatever) the first movement command of each type (perimeters or infill or travel has a F entry... you can choose to change all of them including travel movements. You will see something like: G1 F4200.000 G1 X60.018 Y147.814 E0.50701 The top G1 sends the movement speed. You can arbitrarily cut this in half to 2100.000 to slow the speed by half. The 2nd line of code has an "E" component which identifies extrusion. This helps identify if the code is for extruding or travel if the slicer doesnt leave notes. You then do a "find" in your editor for "G1 F" and work your way through the layer code until you hit the next layer change. I usually just change the perimeters ones since infill isnt so important. Alternatively if you have seen that the perimeters are all F4200 you can do a find and replace and keep hitting next until you see the next layer Z note. If you go to far it doesnt matter, that part of the next layer will just be slower. If you sre unsure of your "fast" movements and which ones to turn down you can do a quick look through with the find next G1 F and see what kinds values are there... if it is 4000 or so I would cut them in half or quarter (this will cut travel speeds as well which might be a good idea so you dont bump the print hard). Anything under 1000 or 1500 probably isnt worth slowing down. As an added benefit if you cut all the speeds by 1/4 arbitrarily with several find and replaces for each F value you will have a much easier time nursing the first layer. You can have a pair of snips and watch and correct and trim as the nozzle goes. It will be slow enough that you can do it safely.
I saved a few prints buy measuring what was printed and cutting the model and printing what was left saved a lot of time and material saved your video in hopes of learning other ways to save failed prints in that manor thnx and keep making great videos dude
Thank you so much! New to printing, been doing it for about 3 weeks now. Just had this happen to me and i was able to recover the print since it was still aheared to the bed. Thank you again!
Literally (and I know this is hard to believe) watched this video this morning while ~20 hours into a 30 hour print. "Good info", I thought. Hour 24 of printing, my printer has support failure and X-axis collision/shift. My whole print was failing from a 0.5" shift to the right. I immediately rewatched your video and implemented the G-Code changes. As you mention a very important "G1 Z#" command to start it all as to prevent the nozzle from crashing into the already printed parts. Despite losing a few supports, IT IS PRINTING SUCCESFULLY! ~6 hours left and I will watch it all the way I think. THANK YOU for sharing this valuable information, as I would have trashed this print in the past.
I had a failed print today (ASA sign in two colours) while changing colours set in Prusa Slicer. I messed up the filament change BUT was able to fully recover the print using these instructions. I was super lucky because the fault happened at the end of a full layer is I simply edited the GCode to that layer and kept on printing. Thank you for this information.
I just used this to recover a print where windows 11 went into sleep. Only a couples layers in, but so far looks like I've saved it. Thanks so much for your guide!
I only got a 3d printer on the weekend. So happy that I found this video - simply one of the most clever ways to enable a chance at recovering a failure. Appreciated. Will try this when it inevitably happens to me :)
I skipped over this video for the most part the first time I saw it. After having a 54 hour print go down after a brown out the memory of this video was the first thing I went to. Thank you.
After 2 failed prints due too a corrupted SD card, I connected my laptop to the printer too print via usb. Printed the part that failed before perfectly, so I moved on to a bigger part. Just went to check on it and my freaking laptop did a windows update in the middle of a print without notifying me. As it is 4am I frustratedly went to bed and opened youtube to look for something to cheer me up. This video was miraculously at the top of my recommended videos, now I can go to bed happy knowing I can probably fix it tomorrow.
Maaan! You do some great videos. My problem, klipper, auto probe, found fix. Measured from bed height of model already printed. Re-sliced dropping the model that height below the bed. Disabled all meshing except for safe home in config. Restarted. Cut a piece the height of already printed model. Made sure gantry was up, then started the print. When it went to center of bed to do z home I held the cut piece under the probe. It worked! Couldn’t have done it without your video. Really hope this helps someone else.
This saved me about 52 hours and $17! Thank you so so much!!!!! I also had to modify my gcode to move the Z axis first after homing and before moving Y as the print was quite tall and the gantry would have knocked it off the build plate if I hadn't cut the power on my first attempt.
Kudos to this video , thank u so much , i followed the directions for gcode recovery( min 8:30 ) and was able to restart a print that failed due to a conection problem, so far it is going very well, thank u so much
Stefan! Excellent video. Thank you so much for posting it. This is easily the most useful video I've watched all year. I have a project where I'm printing a 3d form that will later be filled with concrete. This will be a feeder for a blind raven. Anyway, I was using old filament that kept refusing to unspool. It wouldn't break, it just wouldn't feed. This was a 3 day print and I had a major failure after about 1 day in. I followed your video and I am happy to say that it worked perfectly using a CR-10s controlled by Octoprint. I edited the gcode using visual studio code and with a gcode extension. This video really saved the day. Thanks again!
My stoppage was due to a power failure during a storm. Thus the bed cooled and the part separated from the bed. I hadn't thought of printing the rest of the model as a separate print and then gluing the two together. Great idea!
I watched this video weeks ago but had never encountered a major fail Tonight my CR-10 gave me an error when trying to replace filament in a 12 hour print. The only solution was a power off. You just saved me However the print was quite large, so I couldn't home, rather than using Pronterface I ended up just removing the print bed while it homed and quickly pause print right at the start so I could slot it in. I was quick enough to maintain temperature. I was lucky that at the beginning of the print I made sure the bed was perfectly aligned, so I knew if I re-aligned it well enough I would be safe. Printing at .6mm so alignment wasn't too hard. Definitely not recommended but it worked. Thank you soo much!!!!
Just used this video to rescue a print that failed 11½ hours into a 14 hour print. It was a big one so I couldn't use the auto home. I seem to have gotten away with it though because of your instructions. Massive thank you for making this video 👍
Oh My gosh It worked! i have about a mm of shift on the x axis but it did work. Highly recomend that you increase temp and the flow by a bit and reduce you SPEED to 25% for the first 3 layers. Stefan, not sure what we wouild do without you!
I've kept hold of several large-ish failed prints, now having seen this, I think I can save some of them, and I no longer fear the dreaded air printing.
Super useful vid Stefan, thank you so much.
Once you've taken the piece off the bed, how will you re-position it on the bed and make sure it lines up in order to finish it? Maybe I missed something in the video. I plan to watch it again.
@@dangerous8333 It was Stefan's first tip, if you can workout when it failed and then 'sink' the model in a Slicer, then simply print the remainder and glue together. It's almost obvious but the thought never even crossed my mind, sometimes you can't see the wood for the trees!
Dan was correct though, Stefan ALSO said it was VERY important NOT to move the print in the X/Y axis, like with a removable build surface, as there is no way to line those back up, even if you get the Z height calculated.
@@brandonwatts5435 he isn't taking about finishing the print with the failed part on the bed, but to print the failed section on the bed and glue it to the existing model.
@@dangerous8333 I think in a possible way: restart the same failed print with the same gcode, and print two or thee layers. Stop the printing. Use a sharpie to mark the position in the bed. Remove the two or three layers. Place the failed print in the marked position. Do the Stephan's procedure then.
Resuming a failed 3D print - worth the hassle or just dump and re-print it?
*NOTE: This video covers the approach that works very well with GCode from PrusaSlicer and relative extrusions. If you're using CURA and notice that your slicer spits out absolute extrusion amounts (M82) then check the website article. The process of editing your G-code file might be slightly different!*
www.cnckitchen.com/blog/guide-resuming-a-failed-3d-print
It could depend on the print, but mostly I think armed with this knowledge it does not become a hassle, more like a slight inconvenience, so totally worth it.
@@Billybobble1 yes, also you could not have enough filament to reprint the whole thing
I've used all 3 of these methods before. They all work, but I've found you need to print the first restart layer hotter to make sure it bonds well.
Reprinting is definitely more of a hassle with how large some of these prints are
If it’s an Etsy order I dump and reprint… personal project… maybe
I knew I would need this one day. Thanks a ton, man! You saved my 22 hour print.
The only thing i would like to add to this, is a lot of times i have resumed prints i needed to add in a G92 E*** where *'s are a number close to the next extrusion. otherwise the printer will reject the GCode because it thinks you are trying to do a massive extrude (from E0 to E1000 for example). setting it to the nearest rounded down number allows the printer to continue printing!
This saved me! Thanks!!!
oh wow it worked thanks!!
this was exactly what i was wondering about since i normally print relative mode and this doesn't matter when gcode is in relative but in absolute mode it absolutly does matter. thank you for posting as i thought this is what i needed to do but wasn't exactly sure
i know its been a year,. but can i ask where should i put this on the code? and where should i get the value of the E*** ..
@@chloeanne4305you’ve likely figured it out, but when you search the gcode to find the Z height, if you look at the line of code right above it, there is an E number. I always copy that number before deleting all the code that has already printed, and where g92 says “E0” I paste the new E number in. Otherwise my extruder just spews filament out onto my print.
Lmao I love the “word is not a text editor”
People sometimes have weird ideas...
Though you can use Word as a text editor. It does serve that function.
Well it isn't, it's a word processor.
@@bgm-1961 Even Notepad will mess up gcode. Notepad++ is the way to go for windoze.
I just use notepad++ or even better Sublime.
Thank you Stefan!!! One of the most useful videos I've seen about 3d-printing in the last 10 years. I can't even remember how many failed prints I could not recover.
Great to hear!
Stefan, I have been watching your videos for quite some time now and I have to day that you are one of the best content creators out there for 3D printing enthusiasts. You have a great balance of fun things, as well as MANY things that are incredibly helpful. Keep doing what you are doing, my friend. YOU ROCK
THANK YOU!! my print failed 50 hours in and managed to save it with this tutorial. idk what i would do without this guide.
0:02 i think even people who don't speak german can understand perfectly what you said
True
One of the two German words I do know.
@@_sticks_ Just out of curiosity... What's the second word? :D
@@TheMightyZwom NEIN NEIN NEIN!!!!
@@TheMightyZwom You mean "Scheiße?"
Translation would be "Shit"
The amount of times I've come back to this video... Thank you so much and I hope this continues to help others!
I don't own a 3D printer, but I've watched a ton of videos because I want to get one someday. And I have to say this is one of the top videos I've watched. Nice job! I'm sure a lot of makers will be using your methods to save failed printer.
did u get one?
lol im litreally in the processes of making a 3d printer, costly ordeal
@@siddhantiyer3037 I still don’t have one!
@@jmonteschiobroooo its the best time to get one, have you watched any bambu lab a1 mini reviews?
Thank you for this. I was able to use your article to successfully resume a print that failed 8 1/2 hours in. My extruder stepper lost power and I had to replace a cable that took me a week to get ordered in and replaced. Fortunately I left the print in place on the bed and it did not detach during that time. Using your instructions I was able to restart my print like nothing ever happened!
Awesome!
If you delete "everything up to the G28", make sure there isn't a G29 somewhere before that, as bed probing pretty much certainly crashes into your unfinished print...
saw your comment too late :)
ahh i shouldve read this comment before hitting go
On that note, G28 automatically triggers mesh bed leveling on Prusa printers equipped with it, so if you use a Prusa printer with bed leveling replace G28 with G28 W (tested on i3 Mk2S)
@@clancywiggum3198 if you see this what would be the course of action to not get it to level on a Ender 3 pro with a Cr touch because I can’t figure that out
@@calebdipaolo Note - use this at your own risk, I don't have an Ender 3 to test this on, but a quick search suggests that G28 does not trigger mesh bed leveling on BLTouch equipped E3s, instead using the separate G29 code after homing. (See first comment in this thread as well)
For Prusa MK3 users: When manually setting the Z-Height on a Prusa MK3 I have found that the M211 S0 command is invalid. So, instead I set a bogus G92 with a Z value large enough I can lower the z-axis to the last layer printed. Hope this helps and thank you Stephan this tutorial has saved a bunch of filament. I've come back so many time I finally decided to write myself a cheat sheet.
This should be a pinned comment!
Thank you a lot Stefan! I was 22 hours into a 56 hours print, and lost power for a split second.
I am running Klipper on my Ender 3 S1, and although I wasn't able to home Z to follow your tutorial, so I re sliced the rest of the file, and printed with the new Z 0 being at the height where it left off.
I'm alwaya asking myself why It was never included to the fismware some function to "rewind" gcode until you can visually see it touching the print. It would be super handy.
I second your thoughts 💭.. must be some considerations stopping developing such an idea. Odd indeed.. “like why can’t the print head just ‘find’” the model using the pinda sensor, after a failure like this.. and resume code..
@@BenjaminRayner which kind of sensor is it? Because if it is a "bl touch" like sensor it needs to test lot of points to be sure not to be in an hole of the infill. Also the clog could not give a super clean end, it might be some under extrusion or some highspot. With rewind you could slowly dig the highspot and arrive almost exactly (almost) to the point the extrusion started to be inconsistent. For narrow prints shoudn't make so much difference but for wide ones printer could have already print quite a bit of the layer before the filament end or the clog
This is actually a brilliant idea.
One of the best 3d printing resources on the internet!
About a week after you posted the video on converting a to the duet 3 mini wifi my Rambo control board heated it’s last bed. Followed your super clear tutorial and resurrected the ol pig in no time.
Thank you for continuing to share your wealth of knowledge with the community!
Great piece of content that should be a 3Dprinting 101 for anyone owning a printer
Stefan, just wanted to say thanks for the great info here. It helped me save a 62 hour print after power outage with 30 minutes left. I normally run from the SD card on the printer for longer prints to take advantage of PLR but this one was running straight from a raspi running OctoPrint. Your video helped me save the print and I thank you. Keep up the great work.
Thank you Stefan, you are a true asset to the community
My pleasure!
Thanks Stefan. I was able to save an overnight print after my filament ran out. Following your instructions was simple and your calm, straight-forward delivery turned a potentially stressful situation into a learning experience. It also saved filament and about 18 hours.
I suggest doing the resume layer at much slower speed (around 10%) as well. Not only will that help layer adhesion by radiating heat into the previous layer that was likely just sitting there cooled and thus making it more likely to stick, but if you end up running the nozzle through a slightly taller section of the layer (like from warping) or previously printed part of the layer, the slower speed can allow for the nozzle to melt its way through with minimal damage to the machine. This might not be as important on lower, more normal layer heights, but the 0.8mm-1.12mm layer heights I work with at work, it makes a huge difference.
Obviously it's not ideal to have the nozzle plowing through the previous layer and it turns out very ugly, but for practical parts, the strength and successfulness is more important.
You just saved a ton of people from a bunch of headaches and wasted material!!!!!!! Can’t believe it took this long for someone to make a video about this.
I just had a thought on resuming failed prints that you have moved on the bed. Print one layer on bed then place part ontop and resume either where left off or breakpoint minus 1 layer depending. :)
Very good idea!
I didn't understand this one
@@octimus2000 i think they are saying to print the first layer of the print again. so you know where the (failed) part was and can place it in that same positon
@@sillyface6950 oooh, now I get it. Really good idea. Thanks
What about the part adhesion? Would you glue it to that layer?
You have no idea how much this video save a print that was about 15 hrs in. I'm so glad I came across this about a month ago and saved it.
This was one of the most useful videos that I have seen
Honestly, I can remember Anus's video couple years ago on CAD tricks for designing better printable parts that was and still is two orders of magnitude more useful than this.
Not saying that this one isn't useful (other than being biased around marlin and unnecessarily long, it's okay), but that one is on the whole other level.
Go watch it.
I know that this is 3 years later since you posted this help. But for Fentonbury, Tasmania I thank you as this has helped me save a partial print. No doubt one of many more to come.
Thank you so much for sharing this! Just had my second „print in the air“ because the nozzle was blocked a few hours ago and was thinkin that there has to be a better solution than starting over. You are one of the three content creators (I know 😊) in the 3D printing space who‘s offering continuously useful content. And to top this your focus is always on teaching and not on selling! Thanks again.
This is like the third time this video has saved the day. You're the best Stefan!
YES
When I heard you did this on one of your previous videos, I thought "I *need* to know how!"
Always happy to help and teach!
Thanks Stefan. I just saved a 14 hour 350g purely functional print with this tutorial. Especially appreciate the guidance on how to rehome the axes when the print is too big. It worked out perfectly and I am now more confident in manually editing the g-code in the future.
Great video! Although I think you forgot to add that you need to set the extuder position before you have it start printing. Atleast when slicing with cura, the extuder position does not get reset with every layer. So when you do just the steps you mentioned, it is going to go to the start position and extude out a boatload of filament before actually resuming. You will need to have a G92 E{extruder position} command. The extruder position will need to be the last E value from the commands that were deleted.
You can also leave the hotend at the resume z height and use a G92 Z{height} to set the current z height to avoid having it home and dislodge or crush the print. Then you can have it just home X and Y with: G28 X Y
Clearly I've made this mistake of not setting the extruder position many times
thank you - that was the solution i needed
can i ask where will i get the value that i will be puting on the G92 E***?
@@chloeanne4305 when you search for the layer you want to resume at with a z{height} (ex "z1.8" if you need to resume at 1.8), you should get to a G0 command with one of the parameters being the z{height} you are searching for. Before you delete the lines above that G0 command, scan line by line above this G0 command for a line (usu a G1 command) that has a parameter of E{numberA}. This number that follows E is what you want to plug in at G92 E{numberA} since this is the last extruder position prior to starting the layer you would like to resume.
Makes sense?
I was just wondering that, I didn't want the extruder to go to an 1578.0092 on the first move lol. Thanks!
You're a champion! Was at least 15hrs into a print and the nozzle clogged!.... your video just saved it! Thanks
Make sure to also remove any wiping maneuvers and other moves if they move into the print area. Some code drag the nozzle from an edge all the way to center and that can be catastriphic.
You saved my print! It failed 5 days in and two days later I saw this video and it picked up right where it left off thanks to you!!
This is an extremely helpful guide, amazing!
Glad it was helpful!
YES!!! Thanks Stefan! I had a clog in a 12 hour print and thought THIS time I'm going to save the thing instead of chucking it out and starting over. Your instructions helped me find the right spot in my gcode, delete everything in between and restart. It picked up right where it left off.
these are great tips! 👌😌
My pleasure!
Thank s lot Stefan, i was avoiding massive 3d prints because of fear air printing and other interruptions. But today i managed to fix one large interrupted print, thanks to your tips!
Last but not least, especially if there are collision problems with a restart, there is always the option of printing the remainder separately and gluing the two pieces afterward. If the remainder has disconnected pieces a wide brim that is removed after gluing can temporarily connect these volumes.
I think this is even a better idea. Sounds faster too.
They literally showed that in the video..
I feel really stupid for not thinking of this. All of my recoveries have been manual re-height, manual re-slice, etc. Sometimes with 20+ minutes of re-positioning the part because the bed cooled before I could catch the failure.
Chopping the model in the slicer and gluing would be SO MUCH EASIER! :P
I had a momentary power failure just minutes after watching this video, and thanks to this advice I was able to get my print running again quickly. Thanks!
I'm sorry but I hope it worked out for you!
PSA: Prusa printers with mesh bed leveling automatically level the bed when sent G28, so regardless of print position on the bed sending G28 will break the print. If you can home safely you need to do so by replacing G28 with G28 W, which instructs the printer to home without repeating bed probing (tested on i3 Mk2S)
I do: " G28 W ;Home "and the head of the printer go right in my print, what can I do?
@@chrismoro8858 i know bit late but u had the same problem so i changed the safe home position in the printer.cfg so it would home somewhere else and after saving and restarting instantly change bed temperature to what you need before homing
Thanks, Stefan due to your tutorial I was able to continue a 40 hr. print, with only a small line to distinguish the continuation of the print. Thanks again!
Nice.
Perhaps make a backup of the gcode file unedited first incase you mess up😁
That's always a good idea.
or just slice it again..
Thank you so much, you just saved a time critical print for a gift. Sucessfully resumed a print 5 hours in after a filament change resumed at the wrong height. Running Ender 3 with octoprint and sliced on cura, rescued it on the third attempt with a spare pair of hands on the power switch.
It's important to note that the extrusion mode must be set to relative ( m83) the first time you make your gcode file in the slicer, because it won't work if it was in absolute mode.
if i just change the code to m83 now will it not work?
i watched this nearly a week ago, got up this morning to my printer had lost connection to my Pi, got the height, checked it again, did the gcode thing and off it went, perfect, thanks bud
I asked just yesterday about how to do this😂😂 this is wonderful timing
Hope you enjoyed it!
This is the best and most helpful video I've seen in recovering chopped prints. Very well done, sir. You are the best
If you try to resume in the middle of a layer (eg., a very wide print), be sure to use G92 on the E axis as well!
This video couldn't have shown up at a better time, just after watching it I left a print overnight and the extruder clogged, and I used the tips to resume it.
Many thanks!
Everyone needs to save this video 😂
Especially if you print large silly things that take hours and hours to print.
I have resumed a failed print thanks to this video, it is wonderful. It wasn't really failed, but I forgot this spool was low, but same idea. Thank you so much Stefan wonderful video.
The video everyone needs to watch
I watched this a while ago and forgot about it, today it saved me :D Actually managed to resume a print even after loosing XY position, minimal layer shift I was able to correct after a few layers...nothing a bit of sanding and filler can't fix. Thanks Stefan!
Advanced level: Do it on a belt printer!
Belt printers already mess up my brain. This will even make it worse.
Managed to do it today with a Voron 2.4r2. Had to put some flat surface on the print to do the quad leveling, tricking the printer to think it was doing it on the bed. Then homed Z again, recalibrate Z according to the print height... and then recalibrate x and y too... was not so easy, but I managed to save a 18h print...
Never thought it was possible to recover a print like that. Genius. Thanks for the useful information as always. You make one of the most essential and best channels for 3D printing!
"Scheiße!"
Bro! Thank you so much for this video, earlier today I came home to the dreaded "air printing" on a 20 hour print expecting it to be done only to find out it starting air printing around 17 hours, I just followed your video and thanks to you, my print is sitting at 96% and almost done!! You are the man!! Thank you!
0:02 beste Beschreibung
This is fantastic. I was just having a big print fail because filament ran out. With this video I was able to salvage it quite nicely and there isn't even a visible seam! Thanks a lot, Stefan!
Seria mas facil grabar un timelapse donde se apreciara el dato de altura Z en la pantalla,luego hay que irse al gcode y editarlo para que inicie donde se descontinuo la impresion
Actually one of the most useful videos about 3d printing i've seen since i bought my printer
Great to hear that!
Ultrabase, Powder-Coated Pei and Glass Bed Users be like: * smiles in pain *
Yeah well it all has Pro´s and Con´s i guess :D
But normaly, you see the stop of extruding filament during the print. So the bed is still heated.
Thanks! I got this issue yesterday and try to find something for the NOT HOMING issue. At the end I try to print the part missing on a side, but definitely I will try again with a "provoque" power off to try this method and already get the idea of what to do in a future! Thanks for all the detail explanation! That was really helpful
This just saved my overnight print which stopped from over temp shutdown! i would not have had enough filament to start over from scratch! Im so happy, thank you!
We had a power outage in Frankfurt am Main this evening.... My print already had some 8h, and is still 20h to go..... So I had to re-visit your video here again ;-) And now everything is continuing again smoothly ;-)
Thank you for this very very valuable documentation!
As always, you are one of the best in the 3D printing community and probably the one who got me the most into it, Stefan. Your videos are always awesome and super helpful! Keep it up!
Thank you for this detailed guide on saving valuable printings in terms of time and material, sometimes having a big failed print feels so frustrating and this gives one a last chance not to let this lost.
I just had a 34 hour print fail on hour 18 and was really ticked off then I remembered this video! I ended up using the serial log on Octoprint to give me the last command sent to my printer before the failure so it picked up exactly where it left off. It's looking good so far! Thank you so much!!! 😁
Cool! Glad that it helped!
This is amazing. I assumed this kind of thing was impossible or not worth it. But the "look for features and retraction zits in the gcode" seems super clear after seeing it. Going to have to home my printer while watching it to figure out where I should print tall things for easy homing. Heat creep is a huge issue on my old Replicator 2x.
You're a wizard, Stefan!
I'm an idiot and didn't even think about the simplest solution here. great idea with just editing the height at which it stopped printing. Thank you!
The how to on the failed print repair was glossed over in 2 minutes, lovely
Well you certainly earned the like, litterally the morning after you posted this i had a fail in a multi-day print, thanks to this I got it printing with very little trouble
The double ruler trick is great! But yes, the calipers is the best way to do this for sure! Never used the printer as a CMM, that is brilliant! I agree, next layer is better for sure, we have tried the same layer, it can be a pain in the butt! But man, these days, this is not common! Materials have gotten so much better in the last 5 years or so. Great Video!
I had two failed prints due to a "Move exceeds maximum extrusion" error. Each print was 90% complete and took half a spool of filament to get where it was when the error hit! Infuriating. I was able to figure out the issue and fix it, but you saved me from having to do a third print from scratch!! Thank you so much for this great content.
Woke up at 5:30 am to the sound of my printer making a loud THUNK 40% in to a 24 hour long print set to use an entire spool of filament. This video saved me. THANK YOU
Finally a video on this. I have been doing this for years and couldn't understand why all of the "experts" on youtube just lament a failed 4 day print and then "here is another one i printed".
I am writing this at the same time as watching the video and Stephan is reading my mind or my comments.
Make sure you keep the bed on. Also move one of the motors or in another way make sure the motors are powered. DO NOT TOUCH ANYTHING if the motors are unpowered. Send a move command usually works.
I measure the height of the failure or look at the 3d model in the slicer for a visible point. Using the nozzle is great too.
The double extrusion of the layer... lol... he is faster than me. You need to be one layer higher since the printer needs to put the new first layer plastic somewhere.
I dont think keeping G28 is a good idea ever unless you moved the gantry while unpowered. I remove the g28 if you have kept the motors powered the since the printer doesnt need to home again.
The only other thing I would change would be the printing speed on the first recovered layer since you want a good bond and there might be some jagged bits. This requires changing just a few entries. You have already identified the layer you want to recover and see the Z 5.20 (or whatever) the first movement command of each type (perimeters or infill or travel has a F entry... you can choose to change all of them including travel movements.
You will see something like:
G1 F4200.000
G1 X60.018 Y147.814 E0.50701
The top G1 sends the movement speed. You can arbitrarily cut this in half to 2100.000 to slow the speed by half.
The 2nd line of code has an "E" component which identifies extrusion. This helps identify if the code is for extruding or travel if the slicer doesnt leave notes.
You then do a "find" in your editor for "G1 F" and work your way through the layer code until you hit the next layer change.
I usually just change the perimeters ones since infill isnt so important.
Alternatively if you have seen that the perimeters are all F4200 you can do a find and replace and keep hitting next until you see the next layer Z note. If you go to far it doesnt matter, that part of the next layer will just be slower.
If you sre unsure of your "fast" movements and which ones to turn down you can do a quick look through with the find next G1 F and see what kinds values are there... if it is 4000 or so I would cut them in half or quarter (this will cut travel speeds as well which might be a good idea so you dont bump the print hard). Anything under 1000 or 1500 probably isnt worth slowing down.
As an added benefit if you cut all the speeds by 1/4 arbitrarily with several find and replaces for each F value you will have a much easier time nursing the first layer. You can have a pair of snips and watch and correct and trim as the nozzle goes. It will be slow enough that you can do it safely.
I saved a few prints buy measuring what was printed and cutting the model and printing what was left saved a lot of time and material saved your video in hopes of learning other ways to save failed prints in that manor thnx and keep making great videos dude
Thank you so much! New to printing, been doing it for about 3 weeks now. Just had this happen to me and i was able to recover the print since it was still aheared to the bed.
Thank you again!
Literally (and I know this is hard to believe) watched this video this morning while ~20 hours into a 30 hour print. "Good info", I thought. Hour 24 of printing, my printer has support failure and X-axis collision/shift. My whole print was failing from a 0.5" shift to the right. I immediately rewatched your video and implemented the G-Code changes. As you mention a very important "G1 Z#" command to start it all as to prevent the nozzle from crashing into the already printed parts. Despite losing a few supports, IT IS PRINTING SUCCESFULLY! ~6 hours left and I will watch it all the way I think. THANK YOU for sharing this valuable information, as I would have trashed this print in the past.
I had a failed print today (ASA sign in two colours) while changing colours set in Prusa Slicer. I messed up the filament change BUT was able to fully recover the print using these instructions. I was super lucky because the fault happened at the end of a full layer is I simply edited the GCode to that layer and kept on printing. Thank you for this information.
You were my avatar, when I needed you the most you weren't there, but now this topic has finally come alive and I'm grateful 🤝
I just used this to recover a print where windows 11 went into sleep. Only a couples layers in, but so far looks like I've saved it. Thanks so much for your guide!
I only got a 3d printer on the weekend. So happy that I found this video - simply one of the most clever ways to enable a chance at recovering a failure. Appreciated. Will try this when it inevitably happens to me :)
Amazing video Stefan, saved already two of my prints and with this filament, time ant energy. Thanks for such helpful advice.
This video is a miracle, gets randomly suggested as im bummed over my print failing halfway thru
I skipped over this video for the most part the first time I saw it. After having a 54 hour print go down after a brown out the memory of this video was the first thing I went to. Thank you.
After 2 failed prints due too a corrupted SD card, I connected my laptop to the printer too print via usb. Printed the part that failed before perfectly, so I moved on to a bigger part. Just went to check on it and my freaking laptop did a windows update in the middle of a print without notifying me. As it is 4am I frustratedly went to bed and opened youtube to look for something to cheer me up. This video was miraculously at the top of my recommended videos, now I can go to bed happy knowing I can probably fix it tomorrow.
Maaan! You do some great videos.
My problem, klipper, auto probe, found fix.
Measured from bed height of model already printed. Re-sliced dropping the model that height below the bed.
Disabled all meshing except for safe home in config.
Restarted.
Cut a piece the height of already printed model.
Made sure gantry was up, then started the print.
When it went to center of bed to do z home I held the cut piece under the probe.
It worked!
Couldn’t have done it without your video.
Really hope this helps someone else.
This saved me about 52 hours and $17! Thank you so so much!!!!! I also had to modify my gcode to move the Z axis first after homing and before moving Y as the print was quite tall and the gantry would have knocked it off the build plate if I hadn't cut the power on my first attempt.
Kudos to this video , thank u so much , i followed the directions for gcode recovery( min 8:30 ) and was able to restart a print that failed due to a conection problem, so far it is going very well, thank u so much
I am printing a bionicle mask in life size ( mask of time / kanohi vahi )
Thank you so much! Managed to save my 15 hour print thanks to your instruction!
A very big
THANK YOU!!! 😀
I print so much from begin instead of modify the G-Code...
Best video seen last 5 years! 😀
Stefan! Excellent video. Thank you so much for posting it. This is easily the most useful video I've watched all year. I have a project where I'm printing a 3d form that will later be filled with concrete. This will be a feeder for a blind raven. Anyway, I was using old filament that kept refusing to unspool. It wouldn't break, it just wouldn't feed. This was a 3 day print and I had a major failure after about 1 day in. I followed your video and I am happy to say that it worked perfectly using a CR-10s controlled by Octoprint. I edited the gcode using visual studio code and with a gcode extension. This video really saved the day. Thanks again!
My stoppage was due to a power failure during a storm. Thus the bed cooled and the part separated from the bed. I hadn't thought of printing the rest of the model as a separate print and then gluing the two together. Great idea!
I watched this video weeks ago but had never encountered a major fail
Tonight my CR-10 gave me an error when trying to replace filament in a 12 hour print. The only solution was a power off. You just saved me
However the print was quite large, so I couldn't home, rather than using Pronterface I ended up just removing the print bed while it homed and quickly pause print right at the start so I could slot it in. I was quick enough to maintain temperature. I was lucky that at the beginning of the print I made sure the bed was perfectly aligned, so I knew if I re-aligned it well enough I would be safe. Printing at .6mm so alignment wasn't too hard. Definitely not recommended but it worked.
Thank you soo much!!!!
Just used this video to rescue a print that failed 11½ hours into a 14 hour print. It was a big one so I couldn't use the auto home. I seem to have gotten away with it though because of your instructions.
Massive thank you for making this video 👍
This saved me, thank you! The last 5 minutes of a 5hr print was all I needed.
Oh My gosh It worked! i have about a mm of shift on the x axis but it did work. Highly recomend that you increase temp and the flow by a bit and reduce you SPEED to 25% for the first 3 layers. Stefan, not sure what we wouild do without you!