I apologize if this is in the wrong place. I'm new.
What is the problem?
I would like to know if there is a way to start (or restart) a print from a specific gcode line. I've used CNC router frontends that let you jump ahead to specific lines of gcode. I've started breaking up my multi-part prints to print sequentially, and if there is a way to restart at the beginning of a specific part, that'd be super useful to restart prints after a failure.
What did you already try to solve it?
I've searched the UI and done a cursory search for documentation.
Have you tried running in safe mode?
I suspect this is not relevant for this topic.
Did running in safe mode solve the problem?
Not applicable, I suspect
octoprint-systeminfo-20230108163222.zip (69.3 KB)
To simply answer the question, with OctoPrint out of the box, no.
I guess it would be possible to make a plugin that would do this. Most likely that no one thought this would be useful for 3D printing - you need the start gcode etc. to heat up & home the printer for example.
Otherwise you are on to manually editing the gcode file before printing.
As @Charlie_Powell pointed out, 3D printers have significantly more "prep" (for example, start gcode) than a CNC router. There are also time-based requirements (bed temperature, nozzle temperature). All these factors make a simple "start at this specific line of gcode" almost impossible.
Having said that, I have been able to manually recover a failed print once or twice but the majority of the time its just easier to start over. I find most failures occur within the first layer or two so usually I don't lose much when I do start over.
If you used PrusaSlicer, Cura, or SuperSlicer, what you could do is use the CancelObject plugin. Just restart a print and cancel all but the object you want printed.
Edit: I had forgotten that PrusaSlicer
(and maybe SuperSlicer?) are not very thoughtful about placing object tags in the gcode for sequential prints. Out of the box it will typically crash the nozzle into the cancelled part. The plugin allows before/after cancelling gcode that is injected, so you can put a "safe" move to a location (like G1 X0 F2000, but it would depend on how your parts are arranged) if you just intend on using the plugin for sequential prints.