-
Notifications
You must be signed in to change notification settings - Fork 0
/
wrenches.scad
53 lines (43 loc) · 1.46 KB
/
wrenches.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
include <peg_board_vars.scad>
num_wrenches = 11;
height_fixture = 250;
girth_top_fixture = 75;
girth_bottom_fixture = 180;
wrench_slot_poly=[[0,0], [0,20], [10,20], [10,10], [15,10], [20,20], [25,20], [25,5]];
parts_thickness=4;
// will place one peg attachment every hole_spacing*peg_alter mm
peg_alter = 2;
for(spacing=[0:height_fixture/(num_wrenches-1):height_fixture]) {
y = spacing;
z = (girth_bottom_fixture/2)+(((girth_top_fixture-girth_bottom_fixture)/height_fixture)*spacing)/2;
translate([0,y,z-parts_thickness])
linear_extrude(parts_thickness)
polygon(points=wrench_slot_poly);
translate([0,y,-z])
linear_extrude(parts_thickness)
polygon(points=wrench_slot_poly);
}
frame_poly=[
[0,girth_bottom_fixture/2],
[0,-girth_bottom_fixture/2],
[height_fixture, -girth_top_fixture/2],
[height_fixture, girth_top_fixture/2],
[10,(girth_bottom_fixture/2)-10],
[10,(-girth_bottom_fixture/2)+10],
[height_fixture-10,(-girth_top_fixture/2)+20],
[height_fixture-10,(girth_top_fixture/2)-20],
[height_fixture+25, -girth_top_fixture/2],
[height_fixture+25, girth_top_fixture/2],
];
module make_frame() {
rotate([90,0,90])
linear_extrude(parts_thickness)
polygon(points=frame_poly,paths=[[0,1,2,3],[8,9,3,2],[4,5,6,7]]);
}
difference() {
make_frame();
color("red")
rotate([90,90,0])
translate([10-girth_top_fixture/2,0,-height_fixture-30])
generate_attachments(girth_top_fixture,hole_spacing+5);
}