Adjust printing parameters mid-print
-
Hi Forum,
I'm looking for a way to overwrite settings like print speed and extrusion speed mid-print. From what I've seen, these can only be adjusted by a percentage, is there also a way to use absolute values here?
Can other actors (other than motors) that are connected via analog out be addressed in a similar way that the value set in the gcode will be multiplied by a percentage upon code execution?
What are the relevant gcodes to add such a multiplication factor in the middle of an ongoing print?
Best,
-h -
@hauschka
Hi if you use Prusa Slicer, simplify 3d and others to adjust Print speed and extrusion while printing -
@hauschka
The slicer puts absolute speed values into the gCode throughout the print.
Typically they will vary depending on whether you're printing an outer wall , inner wall, etc etc
The current method of using a percentage allows easy adjustments of all in a uniform manner.
To achieve what you want would require the slicer or a post processor to replace all these speeds with a variable/global name.
So instead of
G1 F3600 ; inner wall speed
you'd have
G1 F{global.innerWallSpeed}
You would declare all your globals at the start or in config.g
global innerWallSpeed = 3600
and adjust as required during the print
set global.innerWallSpeed = 3200
Any other setting can be handled the same way if it's embedded in the job file gcode -
Thanks @OwenD
That's exactly what I was looking for.
Thank you for your input.When you say
set global.innerWallSpeed = 3200
How would I send that?
Can that be called via gcode? or somewhere else? -
@hauschka Bear in mind that the extruder speed and the axes speeds are synchronised. That is to say, a G1 Xn Yn En move means move Xn mm in the X direction and Yn mm in the Y direction while extruding En mm of filament. Which is why you can't change the axes speeds without a corresponding change in extruder speed and vice versa. So it is usually more convenient to change the overall speed as a percentage (the firmware will work out the necessary speeds for each axis motor and the extruder in order to keep everything synchronised).
-
@hauschka said in Adjust printing parameters mid-print:
actors (other than motors) that are connected via analog out be addressed in a similar way
Thanks @deckingman,
Good point that this will change other speeds as well.
Our main application would be other actors via anlog out, these shouldn't affect print speed.
Another aplication would be globally adjusting temperature mid-print, for example.For print speeds, it def makes sense to adjust the overall speed.
Regardless, how would I send this code?
set global.innerWallSpeed = 3200
Via the gcode console?