aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--tabletop_tablet_stand_clamp.scad35
2 files changed, 23 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index cdb04a4..7dde8be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
1*.stl 1*.stl
2*.gco
2*.gcode 3*.gcode
diff --git a/tabletop_tablet_stand_clamp.scad b/tabletop_tablet_stand_clamp.scad
index 2ade4eb..b74efd4 100644
--- a/tabletop_tablet_stand_clamp.scad
+++ b/tabletop_tablet_stand_clamp.scad
@@ -16,39 +16,48 @@ module prism(l, w, h) {
16 ); 16 );
17} 17}
18 18
19module reflect(axises) {
20 children();
21 mirror(axises) children();
22}
23
19baseThickness = 3; 24baseThickness = 3;
20baseHeight = 40; 25baseHeight = 20;
21baseWidth = 80; 26baseWidth = 80;
22 27
23gapWidth = 30; 28gapWidth = 30;
24clampDepth = 15; 29clampDepth = 15;
25clampHeight = 5; 30clampHeight = 5;
26 31
27threadDiameter = 7; 32threadDiameter = 6.5;
28threadTubeOuterDiameter = threadDiameter+baseThickness*2; 33threadTubeOuterDiameter = threadDiameter+baseThickness*2;
29 34
30difference() { 35difference() {
31 union() { 36 union() {
32 cube([baseThickness, baseWidth, baseHeight]); 37 cube([baseThickness, baseWidth, baseHeight]);
33 38
34 translate([-clampDepth, 0, 0]) 39 translate([-clampDepth, 0, 0])
35 cube([clampDepth, baseWidth, baseThickness]); 40 cube([clampDepth, baseWidth, baseThickness+clampHeight]);
36 41
37 translate([-clampDepth, 0, baseThickness]) 42 translate([baseThickness, baseWidth/2, 0])
38 prism(baseWidth, clampDepth, clampHeight); 43 reflect([0, 1, 0])
39 44 rotate([90, 0, 0])
40 translate([0, (baseWidth - threadTubeOuterDiameter)/2, 0]) 45 prism(baseHeight, threadTubeOuterDiameter-baseThickness, baseWidth/2);
41 cube([threadTubeOuterDiameter/2, threadTubeOuterDiameter, baseHeight]); 46
42
43 translate([threadTubeOuterDiameter/2, baseWidth/2, 0]) 47 translate([threadTubeOuterDiameter/2, baseWidth/2, 0])
44 cylinder(r = threadTubeOuterDiameter/2, h = baseHeight); 48 cylinder(r = threadTubeOuterDiameter/2, h = baseHeight);
45 } 49 }
46 50
47 // thread hole 51 // thread hole
48 translate([threadTubeOuterDiameter/2, baseWidth/2, 0]) 52 translate([threadTubeOuterDiameter/2, baseWidth/2, 0])
49 cylinder(r = threadDiameter/2, h = baseHeight); 53 cylinder(r = threadDiameter/2, h = baseHeight);
50 54
51 // clamp gap 55 // clamp gap
52 translate([-clampDepth, (baseWidth-gapWidth)/2, 0]) 56 translate([-clampDepth, (baseWidth-gapWidth)/2, 0])
53 cube([clampDepth, gapWidth, clampHeight+baseThickness]); 57 cube([clampDepth, gapWidth, clampHeight+baseThickness]);
58
59 // clamp indent
60 translate([-clampDepth/2, 0, clampDepth/2+baseThickness])
61 rotate([-90, 0, 0])
62 cylinder(r = clampDepth/2, h = baseWidth);
54} 63}