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

Isolated islands of material in thin air #1180

Open ChristianSi opened 11 years ago

ChristianSi commented 11 years ago

Slic3r sometimes sets isolated islands of material into thin air, when there is nothing under them and no connection to the rest of the layer to support them.

The following screenshots show this problem at layers 95, 173, 174, 267. That's from the Yoda bust http://www.thingiverse.com/download:46150 sliced with the following settings:

; generated by Slic3r 0.9.9 ; layer_height = 0.2 ; perimeters = 3 ; top_solid_layers = 3 ; bottom_solid_layers = 3 ; fill_density = 0.35 ; nozzle_diameter = 0.5 ; filament_diameter = 2.88 ; extrusion_multiplier = 1 ; perimeters extrusion width = 0.80mm ; infill extrusion width = 0.80mm ; solid infill extrusion width = 0.80mm ; top infill extrusion width = 0.80mm ; first layer extrusion width = 0.80mm

layer094 layer095 layer172 layer173 layer174 layer266 layer267

kefir- commented 11 years ago

Did you enable support?

ChristianSi commented 11 years ago

No. I know that it can be argued that Slic3r simply does its job by faithfully rendering what's in the STL, even if that results in unprintable islands (when not using support). True enough, but as I understand Alessandro it's still not supposed to do that.

In my opinion it would be better if Slic3r simply omitted these unprintable islands, even if that results in a less accurate rendering of the STL. Alternatively, it could at least emit a warning along the lines of "You need to enable support to correctly print this file".

jfpion commented 11 years ago

i've got the same sometime stl : http://jean.francois.pion.free.fr/upperfan.stl gcode : http://jean.francois.pion.free.fr/upperfan_slic3r.gcode

with this results: barbilles

look like it is connected to thin wall as it is at the verge of a sharp edge

jfpion commented 11 years ago

an another example barbilles2

lordofhyphens commented 8 years ago

At best I can see a warning if unsupported islands are generated may be warranted.

I prefer to think that our users aren't idiots and if they want to generate a slicing pattern with unsupported pieces, they know what they are doing and can live with the consequences. Might be able to repurpose the support-generation gcode and fire off a UI warning if the model would get support added (using autodetection, etc).

Of course we'd also want a method (probably in Preferences) to turn such things off.