summaryrefslogtreecommitdiff
path: root/gimbal.scad
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2015-01-26 11:22:31 (GMT)
committerJan Huwald <jh@sotun.de>2015-01-26 11:22:31 (GMT)
commit3e67da7f9c7fcb528337e9a801f4abf9e9d39a49 (patch)
tree69e69867b96839a9438355801282f13534dd121c /gimbal.scad
parent751aa52ca18245516762ecfd73f1af5ad41c2812 (diff)
add screw
Diffstat (limited to 'gimbal.scad')
-rw-r--r--gimbal.scad38
1 files changed, 35 insertions, 3 deletions
diff --git a/gimbal.scad b/gimbal.scad
index 192cc54..ff13158 100644
--- a/gimbal.scad
+++ b/gimbal.scad
@@ -4,8 +4,9 @@ cutoff = 3;
c = 3;
base = 10;
-screw_len = 0.8 * (d - 2*cutoff);
+screw_len = 15;
screw_dia = 25.4/4;
+screw_head_len = 5;
mount_screw_dia = 4;
mount_screw_head_dia = 10;
@@ -16,10 +17,29 @@ retainer_dia = 1;
e = 0.01;
$fn = 500;
+use <simplethreads.scad>;
+
module screw() {
- cylinder(r=screw_dia/2, h=screw_len);
+ translate([0, 0, 2*screw_head_len - screw_dia/2])
+ thread_imperial(1/16, screw_dia/25.4, 12, screw_len*16/25.4);
+
+ intersection() {
+ cylinder(r1=2*screw_head_len, r2=0, h=2*screw_head_len);
+ cube([2*screw_head_len, 2*screw_head_len, 10*screw_head_len], center=true);
+ }
}
+module two_half_screws()
+ for (i = [0,1])
+ translate([i*2*screw_head_len, -i*(screw_len + screw_head_len), 0])
+ intersection() {
+ rotate([90, i*180, i*180])
+ screw();
+
+ translate([0, 0, 50])
+ cube(100, center=true);
+ }
+
module grip()
for (i = [0:19])
rotate(i*360/20)
@@ -28,11 +48,23 @@ module grip()
module ball()
difference() {
+ // sphere with top and bottom cap removed
sphere(d/2);
- translate([0, 0, d/2 - cutoff - screw_len + e]) screw();
for (i = [-1,1])
translate([0, 0, i * (d - cutoff)]) cube(d, center=true);
+ // screw hole (thin ot the top, thickening in the center, big
+ // square at the bottom)
+ translate([0, 0, d/2 - cutoff - screw_len/2 + screw_head_len/2]) {
+ cylinder(r=screw_dia/2, h=d, center=true);
+
+ mirror([0, 0, 1])
+ intersection() {
+ cylinder(r1=0, r2=d, h=d);
+ cube([2*screw_head_len, 2*screw_head_len, 10*screw_head_len], center=true);
+ }
+ }
+
// horizontal grip
grip();
// vertical grip at the upper half sphere (but not at the top)
contact: Jan Huwald // Impressum