Remaining time always off because of end-gcode
-
Hello all!
I have a seemingly simple problem for which I can't think of a simple solution: In my slicer (Prusa Slicer 2.1) I have set that after every print the bed should drop to the bottom (to make removal of the object easier). That means that at the end of the gcode file there is a G1 Z285 which leads the DWC to believe that my print is 285 mm tall. Consequently this messes up my estimated remaining time which is quite annoying.
Is there a simple solution for this? I know that I could create a macro that moves the bed down and call this macro in the end-gcode. But this seems rather excessive for a problem that might have a really easy answer...Thank you for your help!
-
Replies on this thread may help: https://forum.duet3d.com/topic/12792/duet-2-04-invalid-model-height-with-cura-4-3-sliced-models/7?_=1574587637150
Ian
-
@droftarts This thread is a similar issue but I'm not sure if it's the same. Two questions come to mind:
- It seems like I have to change the comment after the line "G1 Z285" to something that starts with an uppercase letter? This confuses me a bit, since comments are only for the user and not the parser, right?
- Does "G1 Z+1" mean the same like "G91 G1 Z1"? So is this a way to command relative moves without changing to G91?
-
Why not call a macro that contains the G1 Z285 instead?
-
@Eumldeuml said in Remaining time always off because of end-gcode:
@droftarts This thread is a similar issue but I'm not sure if it's the same. Two questions come to mind:
- It seems like I have to change the comment after the line "G1 Z285" to something that starts with an uppercase letter? This confuses me a bit, since comments are only for the user and not the parser, right?
- Does "G1 Z+1" mean the same like "G91 G1 Z1"? So is this a way to command relative moves without changing to G91?
The upper case letter is E, which the parser takes as extrusion and so ignores it rather than accept it as a travel move.
The +1 is just another way of saying positive number explicitly. Just like for negative values you add the minus sign. The firmware accepts the plus, or no sign at all as positive.
One way around this is to move your slicer end gcode into a macro called stop.g and then in the slicer end gcode you would just have M0. M0 calls stop.g. That way the parser is none the wiser about what happens there and doesn't get confused. You can use multiple slicers with the same M0 call and it will use stop.g so there's only one place to change things.
-
@jay_s_uk said in Remaining time always off because of end-gcode:
Why not call a macro that contains the G1 Z285 instead?
In retrospect, this is what I would do. Create a macro on the Duet with your end Gcode, then set your end Gcode in the slicer to call the macro with M98 https://duet3d.dozuki.com/Wiki/Gcode#Section_M98_Call_Macro_Subprogram
The parser wonβt read moves from the macro, so reporting should be correct.
Ian
-
Thank you all for your answers!
I did consider using a macro for that but for me it seems a little bit excessive that one needs to create a macro in order to display the correct object height... I don't like having too many files in the /sys folder because it clutters up the view which gets very annoying on a small tablet that I use to control the printer (and since it's a DIY printer I do need to access the config and toolchange macros quite often).
But anyways, if adding one letter to the end-gcode fixes the problem then I'm happy Will try that tomorrow!