Notifications
Clear all

Why the gap fill?  

  RSS
SBussinger
(@sbussinger)
New Member
Why the gap fill?

I'm printing an object that is exactly 2 mm wide on a printer with a 0.4 mm nozzle and PrusaSlicer set for 0.5 mm line widths. So the slicer should be able to print it with exactly 4 lines. But some setting is getting in the way of this (note the white gap fills in this screenshot):

Gap

So what setting is causing this? I used to do this a lot in Simplify3D with no problem, so I'm sure it's just my lack of experience with PrusaSlicer, but none of the settings I've played with have had any effect. Why isn't it printing 4 x 0.5 mm lines for a 2 mm object?

Thanks!

Posted : 28/09/2021 4:46 pm
JoanTabb
(@joantabb)
Veteran Member Moderator

do you have both Perimeters and external perimeters set to 0.5mm?
is this the first layer? first layer is often set to 0.42mm extrusion width and sometimes has elephants foot compensation turned on, reducing the model dimensions.

regards Joan

I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK

Posted : 28/09/2021 5:09 pm
Neophyl
(@neophyl)
Illustrious Member

Also the perimeter algorithm has a slight overlap between perimeters otherwise they wouldn’t bond and your part would be weak. 

Posted : 28/09/2021 5:45 pm
bobstro
(@bobstro)
Illustrious Member
Slic3r/PrusaSlicer math - Walls are not an even multiple of extrusion width

As @Neophyl notes, there is some overlap between wall extrusions for strength. The Slic3r flow math page provides the details. You walls will not be an even multiple of the perimeter extrusion width thick. Walls are, however, made up of one or more perimeter extrusions of your specified with, but they overlap slightly (and non-intuitively). To make life more interesting, the amount of overlap is dependent on layer height. The slicer calculates the number of perimeter extrusions to make the wall, and any "leftover" is filled in with gap fill if the area is too small for solid infill. The pop-up tooltip help alludes to this but isn't particularly clear. Unfortunately, a lot of well-meaning people will explain that your walls should be designed to be an even multiple of your extrusion width thick, but that's not quite correct.

PrusaSlicer 2.4alpha has added an option to disable gap fill.

Cura's Arachne engine, currently in Alpha, is intended to adjust perimeter extrusions to address this issue. I'm tracking it, but it's not ready for prime time yet.

My notes and disclaimers on 3D printing

and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan

Posted : 28/09/2021 5:52 pm
FoxRun3D
(@foxrun3d)
Famed Member

Plus, your object is curved but your STL is a list of triangles trying to resemble a curve, so there can be variability to the width of your curved model components. Not sure this is an issue in your case, but it can lead to walls hitting the "thin wall" definition or the creation of what looks like superfluous infill.  

Formerly known on this forum as @fuchsr -- until all hell broke loose with the forum software...

Posted : 29/09/2021 12:31 am
SBussinger
(@sbussinger)
New Member
Topic starter answered:
Thank you!

Thank all of you for your input -- it's much appreciated! @bobstro's reply had exactly the information I needed. The details in the Slic3r Flow Math page explained in detail what was happening, just as @neophyl suggested. I wasn't used to the overlap of perimeter extrusions because Simplify3D apparently doesn't do that.

Using the formulas on that Slic3r Flow Math page, I calculated a new line width of 0.55365 (instead of 0.5) to result in 4 perimeters giving me 2 mm of width with no gap fill, as I'd expected originally. This resulted in a much faster and cleaner print. Interestingly, it used slightly more filament (2.31 grams vs. 2.23 grams) but printed much faster (9 minutes vs. 12 minutes).

Thanks again!

Posted : 29/09/2021 7:09 am
geekandi liked
Durahl
(@durahl)
Estimable Member
RE: Fix in RC

In the Release Candidate you can also "fix" this by simply changing the Gap Infill Speed to 0 ( zero ) if you're confident it not impacting your part strength.

Posted : 04/10/2021 12:01 am
Swiss_Cheese
(@swiss_cheese)
Noble Member

@durahl

 

Just to be clear there is no current "Release Candidate" and you have always been able to set gap fill speed to Zero to turn it off.

 

Regards

 

Swiss_Cheese

The Filament Whisperer

Posted : 04/10/2021 12:51 am
Christoph Kiefer
(@christoph-kiefer)
New Member
RE: Why the gap fill?

Great information here, thx. However, I am still asking myself which formula(e) was/were used to re-calculate the extrusion width. My math is not that deep at the moment 😉 How did you, @sbussinger, re-calculate the line width of 0.55365?

Thanks again

Posted : 06/12/2022 12:31 pm
SBussinger
(@sbussinger)
New Member
Topic starter answered:
RE: Why the gap fill?

First off, with the Arachne engine in the latest PrusaSlicer, you probably don't even need this any longer. Since the latest version automatically varies the line width it should pretty much arrive at the same effect without messing with this.

But to answer your question, the formula given on the referenced page is

spacing = extrusion_width - layer_height * (1 - PI/4)

We can rearrange that to

extrusion_width = spacing+layer_height * (1 - PI/4)

where spacing is the desired distance between lines and extrusion_width is the number to enter into your default extrusion width. In my case, the spacing desired was 0.5mm and the layer_height was 0.25mm.  So,

extrusion_width = 0.5 + 0.25 * (1 - PI/4)

extrusion_width = 0.55365

Remember in the latest PrusaSlicer you'll want to turn off the Arachne engine (put Perimeter generator back to "Classic") for this to have the desired effect.

 

Posted : 06/12/2022 7:35 pm
Share: