aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpacien2019-08-12 03:33:00 +0200
committerpacien2019-08-12 03:33:00 +0200
commit0bcc95d781157499404051ae569140695cc0e65b (patch)
treee37eec85aff7daea0971383c07339238054595ee
parent453630344e12c8f57821a5ee9f56025228599827 (diff)
downloadtabletop-tablet-stand-0bcc95d781157499404051ae569140695cc0e65b.tar.gz
import first version
-rw-r--r--tabletop_tablet_stand_base.scad50
-rw-r--r--tabletop_tablet_stand_clamp.scad45
2 files changed, 95 insertions, 0 deletions
diff --git a/tabletop_tablet_stand_base.scad b/tabletop_tablet_stand_base.scad
new file mode 100644
index 0000000..b168f44
--- /dev/null
+++ b/tabletop_tablet_stand_base.scad
@@ -0,0 +1,50 @@
1thickness = 12;
2legWidth = 20;
3legWallThickness = 2;
4rearLegLength = 40;
5frontLegLength = 90;
6frontLegCenterRotationDegrees = 65;
7legLift = 2;
8
9nutInsetHeight = 4;
10nutInsetDiameter = 15;
11
12threadDiameter = 6;
13
14module leg(width, length, thickness) {
15 difference() {
16 translate([-width/2, 0, 0])
17 cube([width, length, thickness]);
18
19 translate([-width/2+legWallThickness, 0, legWallThickness])
20 cube([width - 2*legWallThickness, length, thickness - legWallThickness]);
21 }
22
23 translate([0, length, 0])
24 cylinder(r = width/2, h = thickness + legLift);
25
26 cylinder(r = width/2, h = thickness);
27}
28
29difference() {
30 union() {
31 // rear leg
32 rotate([0, 0, 180])
33 leg(legWidth, rearLegLength, thickness);
34
35 // right leg
36 rotate([0, 0, -frontLegCenterRotationDegrees])
37 leg(legWidth, frontLegLength, thickness);
38
39 // leftleg
40 rotate([0, 0, +frontLegCenterRotationDegrees])
41 leg(legWidth, frontLegLength, thickness);
42 }
43
44 // thread hole
45 cylinder(r = threadDiameter/2, h = thickness);
46
47 // nut inset
48 translate([0, 0, thickness - nutInsetHeight])
49 cylinder(r = nutInsetDiameter/2, h = nutInsetHeight);
50}
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}