Bed move after finished print


I'm using the Creality CR-10S with a Bed of 300mm x 300mm.

Once a print has finished, the head moves over to the start position at its finished height (or above), which is great, but is there a way to bring the bed fully forward first, so the print becomes accessible?

I am not a programmer of any sorts, so any help with this would be greatly appreciated. (And yes, I currently use the controls within OctoPrint to bring the bed forward after the print has finished)

Thank you.



Some info about the gcode printers use (it's not exactly the same as standard gcode).

In your slicer's end script as the last line you'd put something like G1 Ynnn where "nnn" is whatever your printer's max Y dimension happens to be (in your case that'd be G1 Y300)

You could possibly put it in octoprint's end script but personally I keep octoprint's scripts mostly empty for the sake of sanity and only use my slicer's start / end codes just so I don't end up with conflicting scripts.


Thank you for that, I will try it and let you know how that goes.



Let us know. This'll be fairly easy.


Thank you, it works perfectly, and for pointing me towards the information that goes with it. Now makes perfect sense too.



What were your final g-codes? Where did you put them?


In the OctoPrint settings, there is a GCode Script section, under the After Print Job Completes section, I just added: G1 Y300

This gets the Bed to move completely forward.


great! It's helpful to have you post it here in case someone sees this thread in the future.


Just be aware that putting them in OctoPrint's settings, and not in the slicer as I prefer to do, means that code won't run if you're printing off an SD card that's inserted into your printer and started manually.

It's for that reason that I dislike putting any sort of control scripts in any host software and much rather put the code in my slicer(s). It potentially means more hassle if you use more than 1 slicer, but means my printer always does what I tell it to no matter how it's being controlled.


Here's what I use in Octoprint for "After Print" and "Cancel Print"
G91 ; set relative movement
G1 E-4 ;retract filament 4mm
G1 Z10 F3000 ; move Z up 10mm
G90 ; set absolute movement
M104 S0 ; turn off hotend temperature
M140 S0 ;Turn off bed temperature
G1 X150 Y300 F3000 ; park
M84 ; disable motors
M106 S0 ; turn parts fan off


In a case like this, you could add a custom Control button on that tab of OctoPrint and marry it up with a Gcode Systems Commands custom code like OCTO700 which would jog the Y. You could then just press the button in the interface.

You wouldn't have to add the move code to either OctoPrint's script nor your slicer's.


Still doesn't work for untethered SD card printing, which is the entire reason I said I prefer to use my slicer's start/end scripts for everything rather than the host. But let's not get off topic, I'm not the OP and was just bringing to light the fact that using octoprint's scripts won't work if you're printing directly off the SD card which some people do on occasion.


Fair enough. My printer doesn't even have an SD card in it.


I just got Klipper going on my Octoprint, and one thing about it I like is the "virtual SD card", which bypasses the Klipper->Octoprint->control card, which speeds up communication. One thing about it that I don't like, though I understand it, is that I can't do a "Preheat" (added through a plugin). Gives an error that basically says it can't get the temperature from the SD card. It's too bad, because as it is, printing from the virtual SD card is way faster.

I wonder, is there a way for Octoprint to recognize that the SD card is actually a virtual one, and somehow grab the temperature out of it for a preheat?

Edit: I have also asked the author of the Preheat Button plugin the same question, as I don't know who generates the error message.


I don't know enough about klipper to know how it works.

Without ever having used klipper or the preheat plugin, I would assume the preheat plugin gets the temperatures from a currently loaded gcode file, and if no file appears to be loaded in octoprint, it probably can't figure out what the temperature should be. I would assume it would fail in the same way even for a real SD card attached directly to the printer.

That's just my guess though, like I said I've never used klipper or the preheat plugin.

Either way, that's a topic for a different thread, if you have questions then please start a new topic as your question doesn't really appear to be related to this current discussion.


You're right.. Thanks.