About the modeling of the extrusion

In the beginning of my 3D activities I reviewed several slicer and finally selected Slic3r as my favorite program. Although it is quite user friendly and quite well documented. Furthermore it is open source, so I could check open questions within the source code.

After some first prints with insufficient stability I realized a weakness in the implemented model for extrusion. When the printed width is smaller than the nozzle diameter plus height, the calculation of the extruded material becomes questionable. Unfortunately, this was the commonly used setting for my prints.

This is a behavior which cannot be that real, since the filament doesn't know that it must shrink below the nozzle width.
Looking on a real print it can be seen, that the outer side of the filament is rounded, but doesn't show the shape of a semi circle but a segment having a extend approximately a third of the height.

Having this in mind I implemented a modified model for the extrusion calculation, where the extrusion width is formed by a suitable circle segment besides the inner extrusion area.

Using this model the material usage for each layer is increasing by a few percent, providing more material for the 3D print. Thereby moreand larger junctions are formed to improve the mechanical stability of the objects.

A patch file for the source code (file Flow.cpp in XS/src/libslic3r) can be found here.