That's logic, should think this way before. Thank you ahoeben, will try play with postprocessing.
- 9 months later...
I know this is an old post, but it was the first hit i got when searching for a total print time macro on Google, so I might at well post my findings.
TLDR; There is a variable to get the estimated print time to use with M117, and that is: "print_time", so a
M117 Est. time: {print_time};
results in this gcode after slicing in Cura 4.1.0:
M117 Est. time: 01:36:07;
I found a post with a list of variables available here, where Ghostkeeper linked to a list of old variables till supported (found here). He was even so nice to highlight the line where print time could be found.
Recommended Posts
ahoeben 1,955
There is no variable or replacement pattern for it.
Technical details: the {replacement patterns} in the start- and end-gcode are replaced before the settings and geometry are sent from Cura (the "frontend") to CuraEngine (the "backend"). The total print time is not available at that time, because it has not yet been calculated. The total print time is added directly to the gcode by CuraEngine.
You could use a postprocessing script to change the line that CuraEngine inserted into the gcode. See the Search & Replace script, and replace ";TIME:" with eg "M117 print time:". This will put the M117 before any other functional gcode. It is possible to write a custom postprocessing script that puts the line somewhere else, but some Python skills are needed
Link to post
Share on other sites