SoftFever / OrcaSlicer

G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
https://discord.gg/P4VE9UY9gJ
GNU Affero General Public License v3.0
7.21k stars 848 forks source link

Feature Request: No Cooling While Ironing #6979

Open Fuzzyl0g1x opened 1 month ago

Fuzzyl0g1x commented 1 month ago

Is there an existing issue for this feature request?

Is your feature request related to a problem?

When ironing at low volumetric flow rates, nozzle clogs / extruder jams are common and quality could be better.

Which printers will be beneficial to this feature?

All

Describe the solution you'd like

To achieve the smoothest ironing possible, Orca should have a checkbox named, "disable cooling fans while ironing" to allow the filament to stay warm and flow into the crevices of the top surface. This will provide a benefit to all users, regardless of the nozzle size selected.

Disabling cooling while ironing is also important because when you're ironing, your volumetric flow rate is extremely low and excessive cooling air can cause a clog by flashing the filament solid after it leaves the tip.

This is a common problem when ironing with a 0.2 nozzle: 0.06 layer height x 0.22 line width x 30 mm/s x 30% ironing flow = 0.1188 mm3 /s. Experimentally, I have found that printing below 0.20-0.25 mm3 /s guarantees a clog followed by extruder jam on the Bambu P1S if you don't catch it in time. Manually reducing airflow can help prevent this, but it is not always possible to be available when a print begins ironing.

Describe alternatives you've considered

No response

Additional context

No response

aidan-gibson commented 3 weeks ago

In the meantime, this is how I did it automatically:

image
hotellonely commented 1 week ago

In the meantime, this is how I did it automatically:

image

This is awesome, thanks!

fuorissimo commented 4 days ago

In the meantime, this is how I did it automatically:

image

Your code leaves the fans off even after ironing. I use this but it's not good anyway because the fans remain constant and don't stay off for example in the first layers or completely when printing PETG. A specific Orca function is required.

{if extrusion_role=~/Ironing/} M106 S0 ; disable fan M106 P2 S0 ; disable additional fan {else} M106 S[fan_max_speed] ; reactivate fans M106 P2 S[fan_max_speed] ; reactivate additional fan {endif}

aidan-gibson commented 4 days ago

Yep you are totally correct, I ended up doing the same, I should've updated here. I don't love this bodge. Wish there was a way to set fans to previous speed instead of picking between fan_min_speed and fan_max_speed; hopefully we'll see this feature natively integrated at some point. Documentation on using variables etc in the Machine G-code section of Orca would also be so helpful, I've just been code searching this repo and only half knowing what I'm doing.

fuorissimo commented 4 days ago

Yep you are totally correct, I ended up doing the same, I should've updated here. I don't love this bodge. Wish there was a way to set fans to previous speed instead of picking between fan_min_speed and fan_max_speed; hopefully we'll see this feature natively integrated at some point. Documentation on using variables etc in the Machine G-code section of Orca would also be so helpful, I've just been code searching this repo and only half knowing what I'm doing.

I have to say thank you because your suggestion solved the problem, I no longer have those artifacts. On the other hand, however, now you can see the filling underneath, which didn't happen before despite using 4 layers. Probably the best solution is not to turn off the fan completely during ironing but to slow it down. Now I do a test at 25% and 50%. Meanwhile, here is the result with the fan at 100% (full of lumps) and turned off. WhatsApp Image 2024-11-04 at 03 55 47(1)

fuorissimo commented 3 days ago

IRONING UPDATE I did a lot of tests with an open KOBRA 2 MAX printer and PLA+ material (Jayo/Sunlu). With closed printers it is possible that better cooling is needed.

It seems that by turning off the fan completely you get a shinier and smoother surface but you can glimpse the underlying filling even if you increase the thickness. The tests in the photo refer to 10% gyroid infill and 4 top layers (0.8mm) but even increasing to 15% infill and 5 top layers the result does not change.

The best result is obtained with a fan between 20% and 25%. It is slightly less smooth to the touch but the underlying filling almost completely disappears. In my opinion the 25% fan is the best solution for an open printer.

At the moment the only way is to enter this code in Orca Slicer (and its variants) in the Printer Settings > Machine Gcode section:

{if extrusion_role=~/Ironing/} M106 S64 ; slow down fan to 25% M106 P2 S64 ; slow down additional fans to 25% {else} M106 S255 ; reactivate fan to 100% M106 P2 S255 ; reactivate additional fan to 100% {endif}

However this code creates some small problems. If you set the fans (in filament settings) to stop in the first X layers for some reason at the first layer the fan is at 100%. It is necessary to stop it manually from the printer monitor as soon as the printing of the first layer filling begins. Furthermore, once the ironing phase is completed the fan will always be at 100% so this must be kept in mind if you are printing PETG for example.

We hope that Orca Slicer will allow to choose the fan speed during the ironing phase in the future.

WhatsApp Image 2024-11-05 at 07 19 50 WhatsApp Image 2024-11-05 at 07 19 52 WhatsApp Image 2024-11-05 at 07 19 51(2) Screenshot (742)

Fuzzyl0g1x commented 2 days ago

fuorissimo, if I'm understanding correctly, < 10% cooling while ironing with PLA (which has a low melting temperature) and very sparse infill (you are using 10%) can cause the infill to become visible through the top layers. This is because the hotend is slightly remelting the top layers, causing them to sag into the infill beneath. Other materials, which are more heat resistant, or different print settings (e.g. higher density infill) might be able to tolerate less cooling while ironing.

To summarize, I think you did a great job proving your point, which is that a numerical setting is needed, not simply a checkbox that disables cooling. Rather than "no cooling while ironing" there should be a "reduced cooling while ironing" setting.