aboutsummaryrefslogtreecommitdiff
path: root/tabletop_tablet_stand_clamp.scad
diff options
context:
space:
mode:
Diffstat (limited to 'tabletop_tablet_stand_clamp.scad')
-rw-r--r--tabletop_tablet_stand_clamp.scad45
1 files changed, 45 insertions, 0 deletions
diff --git a/tabletop_tablet_stand_clamp.scad b/tabletop_tablet_stand_clamp.scad
new file mode 100644
index 0000000..b63dcf2
--- /dev/null
+++ b/tabletop_tablet_stand_clamp.scad
@@ -0,0 +1,45 @@
1module prism(l, w, h) {
2 polyhedron(points=[
3 [0,0,h], // 0 front top corner
4 [0,0,0],[w,0,0], // 1, 2 front left & right bottom corners
5 [0,l,h], // 3 back top corner
6 [0,l,0],[w,l,0] // 4, 5 back left & right bottom corners
7 ], faces=[ // points for all faces must be ordered clockwise when looking in
8 [0,2,1], // top face
9 [3,4,5], // base face
10 [0,1,4,3], // h face
11 [1,2,5,4], // w face
12 [0,3,5,2], // hypotenuse face
13 ]);
14}
15
16threadDiameter = 7;
17threadTubeOuterDiameter = 11;
18
19baseThickness = 4;
20baseHeight = 40;
21baseWidth = 80;
22
23gapWidth = 30;
24clampDepth = 15;
25clampHeight = 10;
26
27difference() {
28 union() {
29 cube([baseThickness, baseWidth, baseHeight]);
30
31 translate([-clampDepth, 0, 0])
32 prism(baseWidth, clampDepth+baseThickness, clampHeight);
33
34 translate([0, (baseWidth - threadTubeOuterDiameter)/2, 0])
35 cube([threadTubeOuterDiameter, threadTubeOuterDiameter, baseHeight]);
36 }
37
38 // thread hole
39 translate([threadTubeOuterDiameter/2, baseWidth/2, 0])
40 cylinder(r = threadDiameter/2, h = baseHeight);
41
42 // clamp gap
43 translate([-clampDepth, (baseWidth-gapWidth)/2, 0])
44 cube([clampDepth, gapWidth, clampHeight]);
45}