Send message after each layer?



Hi !

I would like to know if a plugin existed to send a message on the terminal after each layer?
May I use the plug in multi colors ? or OctoPrint-M117PopUp ?

I would like do that for the purpose of control each action/movement before and after each layer.
For example, display "Hi, layer 1 done" after the layer 1, etc.
I don't know if I must work on the Slicer CuraEngine or on the gcode directly.

Best regards


I added specifications to be most clear.


One thing that's important to understand here is that OctoPrint doesn't know exactly when a layer has actually finished.

The thing is that the firmware does have buffers. So when OctoPrint sends a G1 Z... (and fires the z change event), that doesn't mean that the printer/printer's firmware has actually already executed the layer change. Depending on the planner buffer size and the length of the enqueued moves, it might actually take a couple of seconds until that happens.

Additionally it is not trivial to parse out individual layers from a GCODE file (as visible with some of the problems the GCODE viewer implementation suffers from), thanks to z-hop, spiral mode and stuff like priming routines at odd z positions.

So - in order to answer your question - what exactly do you want? And does that need an accurate layer count or would the last sent z-height be enough?

PS: Moved this into the Plugins category, since it sounds more like a "is there a plugin or could one be written" question than a "I want to implement X" question. Correct me if I understood that wrong though please!



Thank your for you answer.

My goal is to control each layer to synchronize two printers so that they collaborate and print a part together. So I need the position of printer at each position, and if it is possible, I would like to send a message on the terminal after each layer to prove that. So, I think I must "hack" the Gcode and manipulate that, but, perhaps someone do a plug in for that.

Is that clearer?


Due to the aforementioned buffers in place in the firmware, that sounds extraordinarily tricky if not impossible to achieve from something like OctoPrint. You'd have more chances at success by modifying the firmware on both printers to communicate with each other.


Ok thank you.
Unfortunately, I don't understand which firmware is in my printer and I think it is not "opensource"


hmmm...maybe this plugin could help: DisplayLayerProgress
You need to test if it's exactly enough for your requirements.


Thank you ! I'm looking this