concepts - Guy-Dentelle-Neupre/DiBL GitHub Wiki

Bobbin Lace Concepts

The most important concepts in the domain of bobbin lace making that spring to mind at first sight are: bobbins, pins, threads, pairs and stitches expressed in terms of cross and twist. Bobbins are related to threads, but only during the creation process. Pairs are not strictly a couple of two threads: the threads may stick together but also change partners.

The essence of the process is making certain stitches with certain pairs/bobbins. Each cross and twist in these stitches is a term in a braid word and thus the process implicitly defines the topology of a piece of lace. The geometry follows from the topology and the size+tolerance of each cross or twist. Pins control the tolerance.

The BobbinWork practice

Without much knowledge about the braid theory at the time of implementation, some aspects are more or less applied in the BobbinWork project. It builds a diagram by cloning stitches (and groups of stitches) in working order at specified spots/orientations with specified pairs. The objects know about the start nodes and end nodes of the lines to render. While constructing the drawing a list keeps track of the end nodes (~ bobbins with a virtual zero length leash in case of a thread diagram, pairs in case of a pair diagram), when another stitch or group is added, the old end nodes and new start nodes are connected, and the new end nodes are placed back into the list. A single data structure allows different views as shown below:

The highlighted line in the tree view corresponds with the highlighted stitches in the thread view and pair view. The tree view can be considered as written instructions. The details of the instructions can be interactively adjusted by unfolding. draaien=twist, kruisen=cross, linnenslag=cloth-stitch, toer=row, speld=pin, looppaar = runner/waever

Connecting the end nodes does not only mean moving them visually together, but also chaining the line segments to enable setting width and color for the full line. The implementation requires specifications about where to move the clone to. But from the available end nodes and shape of the added object, it should be possible to estimate a quite reasonable position for the clone. Estimate an orientation might be less obvious.

The tiled templates

The tiled templates apply braid words (expressed as for example "tct") to stitches in pair traversal diagrams to turn thread diagrams into pair diagrams.

In the old format the stitches are obvious. In the text files a tuple (a1,…, a8) with the values (1, 0,0,1,0,0,-1,-1) defines the diagram on the left, the value one is an incoming thread, minus one an outgoing thread. The position of a tuple in the matrix corresponds with the position of a tile in a template.

In the new format shown as second, two lines are defined per stitch that leave a stitch. In fact a stitch ends half way these lines. The incoming lines should be searched by finding the two lines that end at (x1,y1). The stitch starts halfway the found lines. Using regular tiles is no longer possible as the found start and end points may define any shape.

In both formats the working order of the stitches is not obvious if available implicitly at all.

⚠️ **GitHub.com Fallback** ⚠️