const fs = require('fs'); | |
let kCode = ""; | |
/* | |
Not my code. From Textiles Lab at: | |
https://github.com/textiles-lab/knitout-examples | |
Modified only to change width. | |
*/ | |
//Parameters: | |
const width = 16; | |
const height = 40; | |
const carrier = "3"; | |
//Operation: | |
//Makes a width x height rectangle of plain knitting | |
//on the front bed with carrier Carrier. | |
//Uses an alternating-tucks cast-on. | |
kCode += (";!knitout-2" + "\n"); | |
kCode += (";;Carriers: 1 2 3 4 5 6 7 8 9 10" + "\n"); | |
kCode += ("inhook " + carrier + "\n"); | |
kCode += ("x-stitch-number 61" + "\n"); //in our table: "Half / Wrap" for Polo | |
let min = 1; | |
let max = min + width - 1; | |
//alternating tucks cast-on | |
for (let n = max; n >= min; --n) { | |
if ((max-n) % 2 == 0) { | |
kCode += ("tuck - f" + n + " " + carrier + "\n"); | |
} | |
} | |
for (let n = min; n <= max; ++n) { | |
if ((max-n)%2 == 1) { | |
kCode += ("tuck + f" + n + " " + carrier + "\n"); | |
} | |
} | |
kCode += ("miss + f" + max + " " + carrier + "\n"); | |
//release the hook from the carrier hook | |
kCode += ("releasehook " + carrier + "\n"); | |
// Rows of plain knitting: | |
for (let r = 0; r < height; ++r) { | |
//every other row, change direction so we knit back and forth | |
if (r % 2 == 0) { | |
//we end on the right side (i.e., going in + direction), | |
//so we start by going towards the left (-)) | |
for (let n = max; n >= min; --n) { | |
kCode += ("knit - f" + n + " " + carrier + "\n"); | |
} | |
} else { | |
for (let n = min; n <= max; ++n) { | |
kCode += ("knit + f" + n + " " + carrier + "\n"); | |
} | |
} | |
} | |
//bring yarn carrier out of action | |
kCode += ("outhook " + carrier + "\n"); | |
//write to file | |
fs.writeFile("./../knitout-backend-swg/examples/in/small_rectangle.knitout", kCode, function(err) { | |
if(err) { | |
return console.log(err); | |
} | |
console.log("The file was saved!"); | |
}); |
Graphic generated by the Carnegie Mellon Textiles Lab's Knitout visualizer.