I have always wanted to try making an actual wicker-work Klein Bottle, although doing this in practice would require some serious basketwork skills.
Doing a weave on the surface of a torus is a question of having two helixes (‘warp’ and ‘weft’) running in the two axes of the torus, with the ends eventually meeting. There needs to be an odd number of strands in both directions, to arrange a proper over-and-under weave.
I believe that the same approach does NOT work for a Klein Bottle. The ‘weft’ (blue, in this photo) consists of a helix, which requires that there be an odd number of ‘warp’ threads (yellow). But while the weft is one continuous thread, there appears to be no way to do the same with the warp threads. There are multiple warp threads, each forming a closed loop.
I experimented with putting various twists into the whole thing, in an attempt to get a reduction in the number of threds, but it did not work. I left a full 360 twist in place for the printed model, because it looks cool, however without this, the weave is more at right-angles.
The weft (blue) thread is interesting; although it is one continuous helix, the two ends of the helix come out near the rim, but they end up PARALLEL, running in the same direction! I have simply closed the loop, as can be seen from the top view. I added a single circular thread around the rim, to make the weave parity come out right. For a real wicker-work model, one would loop the end of the weft thread through this circle.
Anyway, Klein Bottles are tricky stuff! You cannot make a proper closed mesh, because the surface normals always end up with anomalies, even though there are no naked edges.
Here is my Grasshopper definition:
KleinBottle13.gh (42.2 KB)