For simplicity I used alternating horizontal and vertical lines rather than diagonal. The layer height is 0.4mm so the width is about 0.6mm and so are the gaps. A couple of things that weren't obvious to me at the beginning were: -
The first and last lines of the fill must be adjacent to the outline so that the U turns on the alternate layer above have something to rest on, otherwise they curl upwards or downwards and don't bond to the outer skin. That means adjusting the gaps slightly to make the overall width correct. When the fill is 100% I adjust the filament width slightly to exactly fill the interior. Easy enough with a rectangular object but probably not with an irregular polygon.Here is 33% fill, i.e. the gaps are about twice the filament width: -
The fill lines probably should line up with the those two layers below so that the intersections form a solid column of filament from top to bottom, otherwise some sag may be expected. Again trivial for rectangles but could get tricky to generalise.
This is 25%. Notice how, although the filament is laid down in a perfect square wave, when it shrinks it pulls itself to the first harmonic. A physical low pass filter!
And here is 20%: -
I found that when putting a lid over the top it struggled with an infill this sparse, so I settled on 25% as the limit for making closed boxes.
All the above are done with filament stretched to 0.5mm. When extruding through a 0.5mm orifice, left to its own devices the filament would be about 1mm due to die swell. I decided to try the same pattern with 1mm filament, i.e. with no stretching: -
As you can see the filament holds the square wave better but what is not obvious is that without stretching it sags a bit in the gaps where it is not supported from below. So some stretching is beneficial, when it comes to spanning voids, but it does increase corner cutting.
As I mentioned before, with my old nozzle, I could extrude 0.5mm filament at 16mm/s. This is what happens with the new one which has an exit hole which is too shallow: -
One unfortunate characteristic of FDM is that errors tend to be cumulative. What I mean by that is if, for example, the U turn of the zig zag fails to bond to the outer wall then that causes the next layer to have nothing to rest on, so that fails as well. The defect then propagates all the way up the object. With 100% fill, any errors tend to have less effect on the layers above.
Rather than slow down my experiments I decided to go to 0.75mm filament at 7mm/s until I make a new nozzle. Here is a 50% fill: -
I also added a bit of overlap between the fill and the outline at the u-turns to get a better bond.
So does the infill density affect warping? I made several test blocks and it looks like the answer is not much. However, I have come to realise that the warping takes hours to fully develop after the object is removed from the base so I will leave them overnight before attempting to make measurements.