supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.03k stars 516 forks source link

Add the ability to split a g-code file from inside the g-code viewer application. #4320

Open Nbeknel opened 1 week ago

Nbeknel commented 1 week ago

Is your feature request related to a problem? Please describe. There are several solutions on how to save a print that failed midway. One is to reslice the object that is submerged into the bed by the height already printed, another is to manualy modify the existing g-code file by removing the g-code that printed perfectly and adding G92 codes after the start g-code. In both scenarios one will probably open the g-code file in the g-code viewer to verify at which height/layer the print failed.

Describe the solution you'd like I would like the g-code viewer to have the ability to split the existing g-code file and create a new one from the height/layer chosen by the user.

Describe how it would work The function would work like a post-processing script modifying the existing file. In an ideal situation the following should be changed according to the config found at the end of the g-code file:

Describe alternatives you've considered I am considering writing my own post-processing script, but currently am unable to find the time, in addition, this would be yet another script, separated from the SuperSlicer. I'd like for it to be an integrated process.

Tirpitz93 commented 1 week ago

Is your plan to print directly onto the failed print or print from the bed again?

Nbeknel commented 1 week ago

From the bed again. One might not always be beside the printer when the print fails, while the printer continues "printing" and eventually finishes. When that happens, the printer may disengage the motors and disable the bed heater. If we try to print on top of what's already printed, we run into the problems of the part hindering the homing process, or the part disengaging from the print surface as it'll have cooled down.

Tirpitz93 commented 1 week ago

I have had luck with the following procedure (Prusa mk2.5s):

  1. Print failed and printer continued and "finished"
  2. modify gcode file to remove succesful code, keeping start code
  3. Remove purge strip and other start code that is not required
  4. change the Autohome XYZ for a home only XY
  5. use calipers (or the print itself) and manual commands/printer interface to get to correct height.
  6. Start the new print file.