Recently I got it into my mind that some of the curling and warping with larger surface area ABS prints can be avoided by gradually cooling the print bed.

The theory is that if you have a large rectangular piece that is a half inch or more in height, that rapid cooling causes the top layers to cool much faster than the bottom layers, causing the top to shrink (contract) at a faster rate than the bottom, causing the curling or warping (right around 40C). I base this on a recent experience where the print was fine until the print was finished. As the bed was cooling down, two sides began to curl upwards. Part of the problem may have been not having enough glue stick. But I also thought, what if I regulate the cool down of the bed gradually so that the top layers aren't allowed to cool dramatically faster than the bottom layers? So this is what I did.

My print bed is at 95C during printing. Once the print was finished I did the following:

Set the temp to 75C wait 3 minSet the temp to 70Cwait 3 minSet the temp to 65Cwait 3 minSet the temp to 60Cwait 3 minSet the temp to 55Cwait 3 minSet the temp to 50Cwait 3 minset the temp to 40Cwait 3 minshut off heat bed.

The key is that it must reach the set temp and then start the 3 min timer.

My question to the G Code experts is, can these be written in G code so that I can add it to the end G Code in my slicer software? If so, how would it be written?

G4 S180 ;(g4 is the command, and s180 is the time in seconds)That will cause a 3 minute pause between lines.

For the temperature set points, perhaps someone smarter than myself can help. I'd assume that there's a way to do this with relative values instead of absolute so that you could just write "decrease 5, wait, decrease 5, wait..." instead of manually writing in absolute temps that may change depending on the part.

So your parts don't warp while printing, it's when the bed cools after the print is done? Mine print as the print is happening, and the damage is done before the cooldown at the end. Weird.

Jimustanguitar wrote:G4 S180 ;(g4 is the command, and s180 is the time in seconds)That will cause a 3 minute pause between lines.

For the temperature set points, perhaps someone smarter than myself can help. I'd assume that there's a way to do this with relative values instead of absolute so that you could just write "decrease 5, wait, decrease 5, wait..." instead of manually writing in absolute temps that may change depending on the part.

So your parts don't warp while printing, it's when the bed cools after the print is done? Mine print as the print is happening, and the damage is done before the cooldown at the end. Weird.

yes, as I mentioned in the first post, the print was fine all the way through the print. I walked away from it and I heard the "pop" as the print released from the bed - the temp was about 40C, and when I looked at the print, the base, which was about 1/2" thick, was curled up on two sides. I think the appropriate amount of glue stick and making sure it's fresh before every print prevents it from warping during the print.

Last night I did a print that had a rectangular base of 4" X 6" and a 1/2" high, and this time I used the method I described to cool down the bed and it didn't warp or curl at all. I should mention that I am using an aluminum heat defuser disk in between the glass and Onyx that I think helps keep the temperature even accross the entire print bed.

I've had the same thought but haven't looked into it yet. According to the RepRap gcode Wiki, setting M190 with an S waits for the temperature to be within tolerance of the setpoint or higher, so it won't implement a wait on cool-down. It does say Marlin allows you to set M190 with an R to wait for the temperature to be within tolerance of the setpoint, whether heating or cooling. I'd have to dig into the Max's firmware to see if there's an analogous option in its stock version of Repetier. If it's not there, it's probably not hard to write.

and re-flashing with that firmware would give you the behavior you seek using the G-code below. I haven't tried it and as always when trying a fresh firmware for the first time, be ready to kill the power if anything goofy happens, but I don't see why it shouldn't work.

hmmmm.... I was hoping it wouldn't require a firmware modification. My printer is working perfectly and my fear is that if I change the firmware, it will cause unexpected issues. And with my luck, even if I restore the firmware to it's original format, the issues would remain. you know what I mean..."but I put it back the way it was and it didn't fix it..."

I do thank you for investigating it and coming up with one possible solution, though.

mvansomeren wrote:hmmmm.... I was hoping it wouldn't require a firmware modification. My printer is working perfectly and my fear is that if I change the firmware, it will cause unexpected issues. And with my luck, even if I restore the firmware to it's original format, the issues would remain. you know what I mean..."but I put it back the way it was and it didn't fix it..."

I do thank you for investigating it and coming up with one possible solution, though.

I don't have a copy near me, But I thought in S3D you could create multiple temperature settings based on layer height?