slic3r / Slic3r

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

Detection of thin walls #24

Closed alranel closed 12 years ago

alranel commented 13 years ago

Definition: a thin wall is a part of your model whose thickness in the XY plane is <= extrusion width.

Slic3r currently ignores them and produces no extrusion. This is because it tries to draw an outline for the part (that is, 2*extrusion width). We need an algorithm to detect these parts and one to generate a single-path extrusion for them

Detection of thin-walls: inset polygons, then outset them again, and do the difference between the original ones and the result; what's missing are thin walls.

Now the question is: given a thin polygon (with variable thickness and direction), how can we detect its backbone?

triffid commented 12 years ago

Straight skeleton- track all skeleton segments that emanate from split and polygon collapse events.

See http://farm6.static.flickr.com/5009/5367603854_debc713f34.jpg from http://twak.blogspot.com/2011/01/degeneracy-in-weighted-straight.html for example

Lodran commented 12 years ago

Model: https://idisk.mac.com/raldrich//Public/Reprap/raldrich_x-struder.stl

Slice with Slic3r 0-5-2, with default settings.

In layers 11-14, support structures are missing from the belt clamps - most likely because the features are too thin for Slic3r to render.

At the very least, it would be nice if Slic3r displayed the minimum supported feature size for a given extrusion width.

(By the way, the bridge issues in that model seem to be resolved.)

brendanjerwin commented 12 years ago

Another test case -- The "bird nose" here: http://www.thingiverse.com/thing:13628 also has supports that fail to render.

alranel commented 12 years ago

Thank you, we don't need anymore test cases :) The problem is well defined.

I explained the problem here: https://github.com/alexrj/Slic3r/wiki/Skeletonization