Octoprint not respecting Cura "Minimum Layer Time?"

I am attempting to print something with fine details using a .2mm nozzle, .05mm layer height, in PLA, slicing with Cura 4.2. It has towers, so I am calibrating with a benchy. I am struggling with messy prints on thin towers, so I am messing with the "Minimum Layer Time" and "minimum speed" settings. In Cura, it says the print will take 8 hours and 30 minutes; in Octoprint, it prints in 4 hours and 53 minutes.

I took the same gcode file and loaded it into my printer via a usb key, and it printed as expected.

Is the gcode for having a pause and lifting the head compatible with OctoPrint?

I have a craftbot plus, using octoprint on a Raspberry Pi 3b+, OctoPrint 1.3.11.

Hi @surfrock66!

The estimated times with OctoPrint can differ - very much.
Try OctoPrint-PrintTimeGenius for a more correct result.

At its core OctoPrint is just a gcode sender. It sends what's in your files to your printer 1:1 (unless you have third party plugins installed that change stuff or have a temperature offset configured).

That also means that any kind of movement that needs to be part of a print needs to be encoded in the gcode file. Minimum layer times get factored into the code by the slicer, they aren't even a concept in OctoPrint since it doesn't need to know this stuff. Same goes for any kind of zlift commands or whatever else you put into your gcode.

1 Like

That's the thing. I make the gcode in the slicer. If I send it through octoprint, it's hours shorter than if I take the same gcode and load it onto the printer via a usb key.

Does it actually print shorter or is it just estimating shorter? If only the latter, see the reply by @Ewald_Ikemann

1 Like

Print is shorter. One was ~8, one was ~4.5.

if the actual print time was different, uploading a sample g-code file that does that might help. otherwise I doubt anyone can tell you what's going on.

1 Like

Minimum print time on the Cura forum. There is a value in the Advanced Section of Cura settings which will unfortunately work against the minimum print time setting.

1 Like

Interesting...so you have to set the minimum print speed setting to 0. I'll try that; I thought that "lift print head" took care of that.

Presumably Cura does a calculation to adjust the print speed for that layer. You say "30 seconds, please" and Cura decides "okay, so how fast should I move the nozzle so that this entire layer takes at least 30 seconds?" and includes some sort of Fx value in that layer for all its G1 movement commands.

But if you've also indicated that the minimum print speed is some other value, then this trumps the other calculation and it won't adjust. To you—the user—it feels like Cura is ignoring your intent.

1 Like

Rather than mess with "minimum layer print time" for a single object, add a second "sacrificial" object to be printed. A simple square pole positioned away from the actual object will serve as a "time sink" so the layers have time to cool.

I actually tried laying out 4 of my object on the print bed, AND made a high-infill solid cube, neither helped enough :frowning:

you might improve your part cooling then? .2mm nozzle and very small parts are huge issue if you don't have good part cooling system and no settings in cura will solve that. printing slower can actually make the result worse as compared to the feature the head has huge thermal mass and is heating it all the time, so actually printing faster will usually get better looking prints (assuming you put 3-4 objects so head moves away from the object for it to cool to some place else) ...

  • better part cooling fans (most cheap printers have bad part cooling with cheap fans and even worse fan ducts, check the thingiverse for your printer you'll certainly find bunch of mods for better part cooling assembly, some blower fans and some good ducts can do miracles !! especially with PLA, 0.2mm and small parts :smiley: )

  • dunno if cura supports it, back in the day skeinforge had the option to do a min layer time by moving the head to predefined XY position for the duration required to achieve min layer time... this practice was abandoned 'cause oozing made things very bad but maybe there's a way to do it these days with all the fancy retraction, prime, etc ... we are doing, especially as oozing on the .2mm is almost non existent.

  • increase print speed, remove min layer time, add more objects around the plate so that print head prints the feature and then move away