-
Notifications
You must be signed in to change notification settings - Fork 0
/
TripodQuickRelease.scad
109 lines (93 loc) · 4.15 KB
/
TripodQuickRelease.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
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
98
99
100
101
102
103
104
105
106
107
108
109
//How wide the clip part is flat side to flat side
ShoeBottomWidth = 68;
// The widest part of the angle
ShoeBottomLength = 61;
//How wide the clip part is flat side to flat side
ShoeTopWidth = 68;
// The narrowest part of the angle
ShoeTopLength = 54;
// How tall the shoe part is
ShoeDepth = 8;
// How long any 'keying' is on the front/back face of the shoe
FrontDetentLength = 15;
// How wide any 'keying' is on the front/back face of the shoe
FrontDetentWidth = 2;
// How long any 'keying' is on the side of the shoe
SideDetentLength = 16;
// How wide any 'keying' is on the side of the shoe
SideDetentWidth = 3;
TopPlateWidth = 78;
TopPlateLength = 69;
TopPlateDepth = 2;
$fn=50 + 0;
rotate(a=[0,180,0])
{
difference()
{
shoe();
shoekeys();
cylinder(h = ShoeDepth, r=3);
rotate(a=[0,180,0]) translate([0,0,2-ShoeDepth]) cylinder(h = ShoeDepth, r1 = 9, r2 = min(ShoeBottomWidth, ShoeBottomLength, ShoeTopWidth, ShoeTopLength) * .5);
}
// Face Plate
difference()
{
minkowski()
{
translate([0,0, ShoeDepth]) cube(size = [TopPlateWidth - TopPlateDepth- TopPlateDepth,TopPlateLength - TopPlateDepth - TopPlateDepth,.001], center = true);
cylinder(r=TopPlateDepth,h=TopPlateDepth);
}
translate([0,0, TopPlateDepth * 2]) cylinder(h = ShoeDepth, r=3);
}
}
module shoe() {
hull() {
translate([0,0, .001]) cube(size = [ShoeBottomWidth,ShoeBottomLength,.001], center = true);
translate([0,0,ShoeDepth-.001]) cube(size = [ShoeTopWidth,ShoeTopLength,.001], center = true);
}
}
module shoekeys()
{
//Front and back keys
hull()
{
translate([(ShoeTopWidth * .5) - FrontDetentLength, (ShoeTopLength * .5) - ShoeTopLength, 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
translate([(ShoeBottomWidth * .5) - FrontDetentLength, -(ShoeBottomLength * .5) , 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
}
hull()
{
translate([-(ShoeTopWidth * .5) , (ShoeTopLength * .5) - ShoeTopLength, 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
translate([-(ShoeBottomWidth * .5) , -(ShoeBottomLength * .5) , 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
}
hull()
{
translate([(ShoeTopWidth * .5) - FrontDetentLength, (ShoeTopLength * .5) -FrontDetentWidth, 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
translate([(ShoeBottomWidth * .5) - FrontDetentLength, (ShoeBottomLength * .5) , 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
}
hull()
{
translate([-(ShoeTopWidth * .5) , (ShoeTopLength * .5) -FrontDetentWidth, 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
translate([-(ShoeBottomWidth * .5) , (ShoeBottomLength * .5) , 0]) cube(size = [FrontDetentLength,FrontDetentWidth,ShoeDepth], center = false);
}
// Side Keys
hull()
{
translate([(ShoeTopWidth * .5) - SideDetentWidth , (ShoeTopLength * .5) - SideDetentLength, 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
translate([(ShoeBottomWidth * .5) - SideDetentWidth , (ShoeBottomLength * .5) - SideDetentLength, 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
}
hull()
{
translate([-(ShoeTopWidth * .5) , (ShoeTopLength * .5) - SideDetentLength, 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
translate([-(ShoeBottomWidth * .5) , (ShoeBottomLength * .5) - SideDetentLength, 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
}
hull()
{
translate([(ShoeTopWidth * .5) - SideDetentWidth , -(ShoeTopLength * .5), 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
translate([(ShoeBottomWidth * .5) - SideDetentWidth , -(ShoeBottomLength * .5), 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
}
hull()
{
translate([-(ShoeTopWidth * .5) , -(ShoeTopLength * .5) , 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
translate([-(ShoeBottomWidth * .5) , -(ShoeBottomLength * .5) , 0]) cube(size = [SideDetentWidth,SideDetentLength,ShoeDepth], center = false);
}
}