prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.72k stars 1.93k forks source link

Ironing in spiral mode #7709

Open Hurin24 opened 2 years ago

Hurin24 commented 2 years ago

Version

Version 2.4.0+win64

Operating system type + version

Windows 10

3D printer brand / version + firmware version (if known)

Creality Ender 3 + Klipper

Behavior

I had a need to print a waterproof vase in spiral mode. To ensure water resistance, I used a 0.8mm nozzle, 1.6mm wall thickness, 0.4mm layer height. But it is always problematic to make the bottom of the vase waterproof. Or you need to do a lot of layers of the bottom. Or you need to smear the bottom of the vase with dichloroethane. I came up with another way to solve this problem. You just need to do ironing to smooth out all the cracks. But the problem is that it is not possible to smooth only the last layer of the bottom. PrusaSlicer is allowed to do ironing either of all layers, or not at all. If you use ironing on all layers of the bottom, then the bottom is not very beautiful. I understand that this is due to the fact that I use spiral mode, but maybe someone knows how to solve this problem?It is also not possible to use the layer range modifier, as it does not work in spiral mode. 2_1 2_2 Not work 3_1 3_2 Not work 4_1 4_2 1 layer 4_3 2 layer 4_4 3 layer 1 The layer modifier does not work in spiral mode

fe60 commented 2 years ago

I don't know if my proposal is supported by the Klipper firmware your printer is operated with. Instead of ironing the top layer, you can try to print the infill of the second (and the third) layer with a higher extrusion multiplier [1]. On my Prusa Printer I can do this changing the Flow Percentage [2]. Increase this value right before the solid infill of the second (and third) layer is printed and switch back to the default afterwards.

Example works on Prusa i3MK3S: (M221 S95 is the default Flow Percentage on this printer)

...
;TYPE: Solid infill
;WIDTH:0.450175
M221 S105
...
...
...
M221 S95
;LAYER CHANGE
...

The horizontal slider and the gcode in the print preview help to identify where the machine codes have to be added to the generated gcode-file.

Screenshot showing tool position and gcode at the beginning of solid infill ![PrusaIssue7709](https://user-images.githubusercontent.com/31078918/149468999-1c215070-68da-4ca5-b479-7f1dc143091a.png)

[1] https://help.prusa3d.com/en/article/watertight-prints_112324/#extrusion-multiplier [2] https://marlinfw.org/docs/gcode/M221.html

Hurin24 commented 2 years ago

I don't know if my proposal is supported by the Klipper firmware your printer is operated with. Instead of ironing the top layer, you can try to print the infill of the second (and the third) layer with a higher extrusion multiplier [1]. On my Prusa Printer I can do this changing the Flow Percentage [2]. Increase this value right before the solid infill of the second (and third) layer is printed and switch back to the default afterwards.

image

fe60 commented 2 years ago

I forgot to explicitely mention, I modified the generated gcode file and added the commands (M221 Sxx) manually using a text editor. You can't apply the proposed solution from PrusaSlicer UI. I don't know if this will work on your printer, but at least the command M221 seems to be known to your printer. https://www.klipper3d.org/G-Codes.html#g-code-commands

caufang commented 1 year ago

I've run into this same problem before and I found that changing "Top fill pattern" and "Bottom fill pattern" to "Concentric" fixes the issue.

I found that generally the Monotonic/Rectilinear fill pattern generally leaves little holes where the solid infill meets the perimeters, and more often than not those holes end up vertically aligning.

By changing the Top and Bottom fill pattern to Concentric, you end up running an extrusion of filament over those holes and that generally seems to stop leakage.

wikolii commented 5 months ago

I've struck this same issue now with a project I started. Why does spiral mode only respect "All solid surfaces" mode for ironing is baffling. I long for the "All top surfaces" mode to work