How to model Kagome weave on monkey saddle curve

test module.3dm (5.8 MB)

We wanted to build the weave on the surface of the saddle curve in order to extract the length of each of the strips and mark the intersections. We have tried projecting the pattern onto the surface using “project” and “map to surface”, “morph surface” but all these commands warp the weave and are not precise for digital fabrication strategies. We want to limit use of material and use the 3d model for this. We have also tried the digital substance script and component and they do not model a weave. Ideally we would like the divide lines perpendicular to the arcs and run the weave through the division almost as a grid. Any help is much appreciate d to create a script for an accurate pattern for digital fabrication :slight_smile:

kagome pattern on saddle (17.4 KB)

Attempting to project the basic flat 2D pattern of the Kagome weave onto a surface with double curvature (using “project” or “map to surface”) is fundamentally flawed as an approach. The Kagome weave can be curved to fit surfaces with single curvature - the same as paper can - but not surfaces with double curvature - the same as paper can’t.
It is true that projection techniques can work for surfaces with a low amount of double curvature - but this is not the case of the saddle surface (unless you were to take a restricted central area only).
The good news is that exactly how to do this correctly is understood by expert weavers (look at the work, for example, of Alison Grace Martin) and has been explained in a number of papers, amongst which I find this document - - the best in explaining how and where to modify a triangular mesh in Grasshopper so that the Kagome weave conforms to surfaces with double curvature.
It’s not quick and easy to do, but there will be multiple possible solutions.
It is possible - but I’m not sure - that in the case of the saddle surface you wish to weave, introducing a single nonagon at the geometric centre of the saddle will be the only modification required. It would be an elegant solution if that actually worked. See P.79 of the document cited for more details.