-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathglove.js
97 lines (79 loc) · 2.48 KB
/
glove.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/*
This file makes a glove consisting of:
- A rib stitch open tube
- A palm that widens out to start the thumb early
- Five fingers sewn in parallel ending in closed loops
*/
const lib = require('../lib/knitout_util');
let k = new lib.KnitoutUtil();
const COLOR_RIB = '6';
const COLOR_CONE = '6';
const COLOR_PALM = '6';
const COLOR_PINKIE = '6';
const COLOR_THUMB = '7';
const COLOR_RING = '7';
const COLOR_MIDDLE = '8';
const COLOR_INDEX = '9';
const COURSES_RIB = 56;
const COURSES_CONE = 30;
const COURSES_PALM = 24;
const COURSES_THUMB = 30;
const COURSES_INDEX = 40;
const COURSES_MIDDLE= 46;
const COURSES_RING = 44;
const COURSES_PINKIE= 30;
const X1=30
const X2=40
const X3=50
const X4=60
const X5=60
const X6=82//thumb
//main rib
k.run_autohook(
k.wrap_serial(
//try this for tubes instead
k.gen_skiptube(COLOR_RIB,4,X1,X5,k.RIB1X1),
k.gen_arbtube(k.RIB1X1,COLOR_RIB,COURSES_RIB, X1, X5),
k.gen_tubeswitch_arbitrary(k.RIB1X1, k.STOCKINETTE, COLOR_RIB, X1, X5),
)
,COLOR_RIB,true,true,false)
//main palm
k.run(k.gen_arbtube(k.STOCKINETTE, COLOR_CONE, 5, X1, X5));
k.run(k.gen_arbtube_varying_sides(k.STOCKINETTE, COLOR_CONE, Array(COURSES_CONE).fill(X1), k.shape_line(COURSES_CONE, X5, X6)))
function fingergap(x) {
k.xfer('f'+(x+1),'b'+(x+1))
k.rack(1)
k.xfer('b'+(x+1),'f'+(x+2))
k.rack(0)
}
//thumb finger gap
fingergap(X5);
let thumb = k.wrap_autohook(k.wrap_serial(
k.gen_arbtube(k.STOCKINETTE, COLOR_THUMB, COURSES_THUMB, X5+2, X6),
k.gen_bindoff_fg_closed(COLOR_THUMB,X5+2,X6)
),COLOR_THUMB)
let palm = k.gen_arbtube(k.STOCKINETTE, COLOR_PALM, COURSES_PALM, X1, X5)
//main palm and thumb
k.run_parallel(palm,thumb)
//main fingers
let pinkie = k.wrap_autohook(k.wrap_serial(
k.gen_arbtube(k.STOCKINETTE, COLOR_PINKIE,COURSES_PINKIE,X1,X2),
k.gen_bindoff_fg_closed(COLOR_PINKIE,X1,X2)
),COLOR_PINKIE,false,false,true);
let ring = k.wrap_autohook(
k.wrap_serial(
k.gen_arbtube(k.STOCKINETTE, COLOR_RING,COURSES_RING,X2+2,X3),
k.gen_bindoff_fg_closed(COLOR_RING, X2+2, X3)
),COLOR_RING)
let middle = k.wrap_autohook(k.wrap_serial(
k.gen_arbtube(k.STOCKINETTE, COLOR_MIDDLE,COURSES_MIDDLE,X3+2,X4),
k.gen_bindoff_fg_closed(COLOR_MIDDLE, X3+2, X4)
),COLOR_MIDDLE)
let index = k.wrap_autohook(k.wrap_serial(
k.gen_arbtube(k.STOCKINETTE, COLOR_INDEX,COURSES_INDEX,X4+2,X5),
k.gen_bindoff_fg_closed(COLOR_INDEX, X4+2, X5)
),COLOR_INDEX)
//other finger gaps
for (let x of [X2,X3,X4]) fingergap(x)
k.run_parallel(pinkie,ring,middle,index)
k.write('out/glove.k');