After hours and hours of watching our reprap at http://brmlab.cz two things come to my mind – first, skeinforge's standard infill pattern is way prettier than any of slic3r's and second - and more important - that none of the infill strategies actually take advantage of the models shape. After reading http://garyhodgson.com/reprap/2012/01/thoughts-on-fill-algorithms/, I decided to write my thoughts on how I think it should be done:
First, divide sliced object into cubes one layer high and for example three extrusion widths in remainig directions (this equals to 33% infill), then count how far is each cube from nearest surface (in all 3 dimensions). Divide cubes into regions, depending on how deep inside the object cubes are. In pictures here you can see 3 regions,[1-2], [3-6],[7-14 which I was too lazy to mark with numbers]
Infill density is then dictated by region, every region border will halve the density:
Next layer is then done same way, but rotated as usual:
Infill that stays in region 1 can then be extruded with lower flowrate (thinner) saving material and lines crossing higher groups can be made increasingly thicker, for really strong internal support. All this should assure that we have strong infill that supports ceilings well, but without using much material. This model can be developed further, for example cubes may be more layers high, making infill be naturally more layers thick – this is similar to what skeinforge does in “skin” plug-in, but as its done by grouping layers and not dividing, it will bring better results. EDIT: Slic3r can already do this with infill_every_layers option.