-
Notifications
You must be signed in to change notification settings - Fork 0
/
light-clamp.scad
70 lines (58 loc) · 1.42 KB
/
light-clamp.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
include <ScrewsMetric/ScrewsMetric.scad>;
$fn=100;
thickness=5;
holew=25;
holeh=35;
holed=20;
union(){
// Main holder
difference(){
translate([-thickness,0,0])
cube([holew+thickness*2,holed,holeh+thickness]);
union(){
// rounded top
translate([holew/2,holed,holeh/2+thickness])
rotate([90,0,0])
cylinder(holed,d=holew);
// square bottom
cube([holew,holed,holeh/2+thickness]);
};
};
// Left drill flap
translate([-thickness,holed,0])
rotate([0,0,180], center=true)
difference(){
union(){
cube([holed,holed,thickness]);
supports();
};
countersink();
};
// Right drill flap
translate([holed+thickness*2,0,0])
difference(){
union(){
cube([holed,holed,thickness]);
supports();
};
countersink();
};
};
module countersink() {
translate([holed/2,holed/2,thickness])
AllenCountersunkBoltHole(5, 5, 100);
}
module supports() {
support();
translate([0,holed-thickness,0]) support();
}
module support() {
translate([0,thickness,thickness])
rotate([90,0,0])
linear_extrude(thickness)
polygon([
[0,0],
[0,holeh/2],
[holew/2,0]
]);
}