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.scad49
1 files changed, 29 insertions, 20 deletions
diff --git a/tabletop_tablet_stand_clamp.scad b/tabletop_tablet_stand_clamp.scad
index b63dcf2..2ade4eb 100644
--- a/tabletop_tablet_stand_clamp.scad
+++ b/tabletop_tablet_stand_clamp.scad
@@ -1,38 +1,47 @@
1module prism(l, w, h) { 1module prism(l, w, h) {
2 polyhedron(points=[ 2 polyhedron(
3 [0,0,h], // 0 front top corner 3 points=[
4 [0,0,0],[w,0,0], // 1, 2 front left & right bottom corners 4 [0,0,h], // 0 front top corner
5 [0,l,h], // 3 back top corner 5 [0,0,0], [w,0,0], // 1, 2 front left & right bottom corners
6 [0,l,0],[w,l,0] // 4, 5 back left & right bottom corners 6 [0,l,h], // 3 back top corner
7 ], faces=[ // points for all faces must be ordered clockwise when looking in 7 [0,l,0], [w,l,0] // 4, 5 back left & right bottom corners
8 [0,2,1], // top face 8 ],
9 [3,4,5], // base face 9 faces=[ // points for all faces must be ordered clockwise when looking in
10 [0,1,4,3], // h face 10 [0,2,1], // top face
11 [1,2,5,4], // w face 11 [3,4,5], // base face
12 [0,3,5,2], // hypotenuse face 12 [0,1,4,3], // h face
13 ]); 13 [1,2,5,4], // w face
14 [0,3,5,2], // hypotenuse face
15 ]
16 );
14} 17}
15 18
16threadDiameter = 7; 19baseThickness = 3;
17threadTubeOuterDiameter = 11;
18
19baseThickness = 4;
20baseHeight = 40; 20baseHeight = 40;
21baseWidth = 80; 21baseWidth = 80;
22 22
23gapWidth = 30; 23gapWidth = 30;
24clampDepth = 15; 24clampDepth = 15;
25clampHeight = 10; 25clampHeight = 5;
26
27threadDiameter = 7;
28threadTubeOuterDiameter = threadDiameter+baseThickness*2;
26 29
27difference() { 30difference() {
28 union() { 31 union() {
29 cube([baseThickness, baseWidth, baseHeight]); 32 cube([baseThickness, baseWidth, baseHeight]);
30 33
31 translate([-clampDepth, 0, 0]) 34 translate([-clampDepth, 0, 0])
32 prism(baseWidth, clampDepth+baseThickness, clampHeight); 35 cube([clampDepth, baseWidth, baseThickness]);
36
37 translate([-clampDepth, 0, baseThickness])
38 prism(baseWidth, clampDepth, clampHeight);
33 39
34 translate([0, (baseWidth - threadTubeOuterDiameter)/2, 0]) 40 translate([0, (baseWidth - threadTubeOuterDiameter)/2, 0])
35 cube([threadTubeOuterDiameter, threadTubeOuterDiameter, baseHeight]); 41 cube([threadTubeOuterDiameter/2, threadTubeOuterDiameter, baseHeight]);
42
43 translate([threadTubeOuterDiameter/2, baseWidth/2, 0])
44 cylinder(r = threadTubeOuterDiameter/2, h = baseHeight);
36 } 45 }
37 46
38 // thread hole 47 // thread hole
@@ -41,5 +50,5 @@ difference() {
41 50
42 // clamp gap 51 // clamp gap
43 translate([-clampDepth, (baseWidth-gapWidth)/2, 0]) 52 translate([-clampDepth, (baseWidth-gapWidth)/2, 0])
44 cube([clampDepth, gapWidth, clampHeight]); 53 cube([clampDepth, gapWidth, clampHeight+baseThickness]);
45} 54}