slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.35k stars 1.29k forks source link

Infill bugged with >0.5mm nozzle - too many solid layers #614

Closed FalconFour closed 12 years ago

FalconFour commented 12 years ago

I have a 0.6mm nozzle (as measured by the extruded strand after drilling by hand). It seems to work OK with 0.5mm settings while diagnosing this problem, but it's still definitely bugged.

When slicing with lower than 0.4mm layers (as I believe I found triggered the problem - or rather, made it stop occurring), I get some very erratic fill behavior while visualizing the GCode in Repetier-Host in Windows. It appears that slic3r fills layers in erratically when the interior area of a zone is under a certain size. So when I slice "spur gears for Printrbot" (http://www.thingiverse.com/thing:26243), the lower part of the large gear (V2) comes up with proper sparse fill, but after the bolt hole comes up and reduces the area of each fill, every layer is solid after that! I originally tried reducing the extrusion width to 0.5mm (with the nozzle configured as 0.6mm) to make it properly negotiate around the second (inner) perimeter of the gear teeth in a continuous strand instead of bobbing in and out around the spokes/holes it couldn't fit between. It does the perimeters fine, but the infill goes completely bonkers.

I would prefer to use thin layers and do infill every 2 layers. That's an amazingly useful and brilliant feature, IMO. But on this part, when I do that, the layers that should have no infill actually get little "fragments" of infill on every blank layer, as if it did perform infill but just "erased" it to skip it - but not quite erased all the way. So that would cause the entire benefit of 2-layer infill to be negated by all the extruder jerking and unnecessary travel.

Here are some screenshots of the preview code for these problems: https://dl.dropbox.com/u/35284720/postimages/screenshots/slic3r-fill-gear-1.png - shows the solid infill problem. Whole model is the same height so there should be no reason it fills some segments but not others - in fact, none of these should be solid filled. https://dl.dropbox.com/u/35284720/postimages/screenshots/slic3r-fill-gear-2.png - Random artifacts of infill deposited around perimeters where it should be skipping infill (also see problem in E-Body below) https://dl.dropbox.com/u/35284720/postimages/screenshots/slic3r-fill-gear-3.png - Bottom view of a chopped segment of the part where slic3r decides it's going to solid-fill the rest of the part. https://dl.dropbox.com/u/35284720/postimages/screenshots/slic3r-fill-e-idler-1.png - It's not just this part... it happens with any part that has varying area sizes that need to be filled. I picked this extruder body at random from my STLs to test.

Here are the non-default settings: Layer height: 0.2mm Perimeters, solid layers: 2 Fill density: 0.3 Infill every 2 layers Brim: 3mm Loops: 2 First layer extrusion width: 150% (default, but odd) Perimeter extrusion width: 0.5mm Filament diameter: 2.87mm Nozzle diameter: 0.6mm Print center: 100x50

B4Me commented 12 years ago

Saw the same issue with an off the shelf printrbot (0.5 nozzle, 0.3 layer) infill = 0 -> 0.99 gives 100% infill on the 50mm tower here http://www.thingiverse.com/thing:5573

FalconFour commented 12 years ago

I've got to go back to 0.8.x because of this bug. It's only referenced in few places online but some people defend it as a "feature" to fill in small perimeters stronger. That's crap. All it does is cause more travel and more headache, with more wasted filament, especially if an area "appears" to be small but is actually just narrow or a design element (non-structural). I really would like to see an option to disable this "small infill detection", as I couldn't find it in the config files...

While infill is definitely bugged with those settings (artifacts, sporatic infill, etc), the "too many solid layers" problem occurs with any settings I throw at it. I'm a little stumped why nobody else has brought it up...

alranel commented 12 years ago

Thank you for the reports.

The automatic solid infill for narrow parts is indeed a feature, and it was designed on purpose. However I do understand that while many users appreciate it in most cases, the need for disabling it could arise. I think I'll make this configurable (perhaps with a threshold?).

Regarding little artifacts caused by infill combination (infill every n layers), I think there's already another issue here on GitHub.

B4Me commented 12 years ago

(perhaps with a threshold?). Thats a good idea, much better than ON / OFF :)

alranel commented 12 years ago

Hello, as tracked in #224 a new option to set a threshold was introduced. Thank you!

FalconFour commented 12 years ago

Rather, thank you! Great compromise. I guess I'll have to play with that to understand what makes it a feature to most people. But it's always good to have an option for it! :)