It would be very useful to be able to switch off the bed heating after height X.
Advantages:
You can do that in Slic3r with the conditional G-code syntax inside the
layer change G-code, based on the current layer height.
On Fri, Feb 2, 2018 at 6:31 PM, probonopd notifications@github.com wrote:
It would be very useful to be able to switch off the bed heating after
height X.Rationale: After a sufficient number of layers, the heating is not needed
anymore (depending on the material and model). Being able to switch off (or
turn down) the heating after a sufficient number of layers would save the
time it takes to cool down the bed at the end of the print before one can
remove the parts from the bed. (At least with my PLA prints, I do this on a
regular basis with great success.)—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alexrj/Slic3r/issues/4287, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFj5I3LaEUE-DBKunxS7FaVPKpJfrrDGks5tQ0Z7gaJpZM4R3hdt
.
You can do that in Slic3r with the conditional G-code syntax inside the layer change G-code, based on the current layer height.
Wow, actually I was looking for something like that but only found boxes for entering "Start" and "End" G-code. Where can I enter "conditional G-code syntax inside the layer change G-code"?
https://github.com/alexrj/Slic3r/wiki/Conditional-Gcode-Syntax-Spec
The Prusa3D Slic3r implements a bit different conditional syntax
{if condition} xxx {else} xxxx {endif}
and we started to use the conditional syntax for things like controlling the extrusion multiplier based on the layer height. Just search the "{if" string inside our Slic3r profiles.
Thanks @bubnikv - I can see commands like {if not has_wipe_tower}
and {if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}
but how do I specify "if at the first layer at or above X cm" or "if at layer number Y"?
You enter the following into the Before layer change G-code section to disable bed heater above 10mm:
If it is the upstream Slic3r, then you will enter:
{if [layer_z] > 10}M140 S0
If it is the Slic3r PE, you will enter
{if layer_z > 10}M140 S0{endif}
Actually this will enter the M140 S0 at each layer above 10mm. You may be a bit more creative by limiting the upper limit, with the Slic3r PE syntax:
{if layer_z > 10 and layer_z < 11}M140 S0{endif}
Thanks a lot @bubnikv. This will work for me.
If others think this is a useful feature too, maybe it can be made a GUI element ("switch off heating after height __ cm").
After having used this for a while, I really think it may be worthwhile to have a GUI element ("switch off heating after height __ cm") to make this more accessible for everyone.
Most helpful comment
You enter the following into the Before layer change G-code section to disable bed heater above 10mm:
If it is the upstream Slic3r, then you will enter:
{if [layer_z] > 10}M140 S0
If it is the Slic3r PE, you will enter
{if layer_z > 10}M140 S0{endif}
Actually this will enter the M140 S0 at each layer above 10mm. You may be a bit more creative by limiting the upper limit, with the Slic3r PE syntax:
{if layer_z > 10 and layer_z < 11}M140 S0{endif}