5axes / Calibration-Shapes

A Cura plugin that adds simple shapes (cube, cylinder, tube) and also 24 Calibration and test parts + 7 Postprocessing scripts
GNU Affero General Public License v3.0
330 stars 69 forks source link

M104 vs M109 in temp tower script #119

Closed Fishhooks1945 closed 1 year ago

Fishhooks1945 commented 1 year ago

Hello, I noted that the post processing script for the temp tower uses M104 Sxxx for temp changes. M104 does not wait for the extruder to meet it's target before moving to the next line, whereas M109 will wait.

Wouldn't it make sense to use M109 and wait for extruder to be at correct temp before printing a given section?

Thank You for your time making this sweet plugin :)

5axes commented 1 year ago

In a temptower usualy we start from the higher temperature to the lower and so the changing time in this case as the machine is extruding material is very short. By the time you are printing the inner contour of the first layer you will have reach the new temperature. So you will not see the difference on the part.

 

Using a M109 S code to wait the right temperature is also useless. This code are waiting that the nozzle have reach the programmed value. But as you are always at a temperature higher than the new target value, the machine doesn't wait anything and using M104 S or M109  S doesn't change anything in a temptower print style program.  To wait the decreasing target you must use the M109 R   code.

https://marlinfw.org/docs/gcode/M109.html

 

But this is not the choice I have made in my script because user must be able to fix a negativ or positiv increment (even if on a pratical point of view it's always better to decrease the temperature)

Last point in Cura the code used to change the temperature during the print (Ie temperature between first and next layer ) is the M104 code. So it's also nice to use the same code in the script to simulate on the tower the "same" type of situation.

Fishhooks1945 commented 1 year ago

Thank You for the explination!