-
Notifications
You must be signed in to change notification settings - Fork 0
/
blockhouse-lib.scad
37 lines (35 loc) · 1.01 KB
/
blockhouse-lib.scad
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
PLANK = 90;
NOTCH = 13;
GAP = 0.5;
module wall(width=46, length, height) {
for (start_z = [ 0 : PLANK+GAP : height ])
translate([length, 0, start_z]) {
rotate(a=[0, -90, 0]) {
linear_extrude(height = length) {
polygon(points=[[0, 0],
[0, (width-NOTCH)/2],
[1.5*NOTCH, (width-NOTCH)/2],
[1.5*NOTCH, (width+NOTCH)/2],
[0, (width+NOTCH)/2],
[0, width],
[PLANK, width],
[PLANK, (width-NOTCH)/2],
[PLANK+1.5*NOTCH, (width-NOTCH)/2],
[PLANK+1.5*NOTCH, (width+NOTCH)/2],
[PLANK, (width+NOTCH)/2],
[PLANK, 0]]);
}
}
};
};
w = 46;
l = 3900;
wall(length=l, height=2000);
translate([100, -100+w, -PLANK/2]) {
rotate([0, 0, 90]) { wall(length=3900, height=2000+PLANK); }
}
translate([-100+l+w, -100+w, -PLANK/2]) {
rotate([0, 0, 90]) { wall(length=3900, height=2000+PLANK); }
}
/*
*/