]> www.fi.muni.cz Git - things.git/commitdiff
potentiometer knob for fs-i6
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 19 Jun 2019 15:42:06 +0000 (17:42 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 19 Jun 2019 15:42:06 +0000 (17:42 +0200)
fs-i6-knob.scad [new file with mode: 0644]

diff --git a/fs-i6-knob.scad b/fs-i6-knob.scad
new file mode 100644 (file)
index 0000000..f909d48
--- /dev/null
@@ -0,0 +1,51 @@
+infty = 100;
+eps = 0.01;
+
+pin_d = 6.6;
+pin_d2 = 8.5;
+pin_h = 10;
+
+out_d = 11;
+wall = 1;
+
+slot_w = 0.6;
+slot_h = pin_h;
+slot_angle = 45;
+
+difference() {
+       union() {
+               cylinder(r = out_d/2, h = pin_h);
+               for (angle = [0:15:360]) rotate([0, 0, angle])
+                       translate([out_d/2, 0, 0])
+                               cylinder(r = 0.9, $fn = 3, h = pin_h);
+               // +-90 degree protrusions
+               for (angle = [90,270]) rotate([0, 0, angle])
+                       translate([out_d/2, 0, 0])
+                       rotate([0, 0, 45])
+                               cylinder(r = 1.5, $fn = 4, h = pin_h);
+               // center protrusion
+               difference() {
+                       translate([out_d/2, 0, 0])
+                               cylinder(r = 2.5, $fn = 3, h = pin_h);
+                       translate([0, 0, 2*pin_h/3 - wall/2])
+                               cylinder(r = infty, h = wall);
+                       translate([0, 0, pin_h/3 - wall/2])
+                               cylinder(r = infty, h = wall);
+               }
+               // bottom cylinder
+               cylinder(r = out_d/2 + 0.9, h = wall, $fn = 360/15);
+               // top cylinder
+               translate([0, 0, pin_h - wall])
+               cylinder(r = out_d/2 + 0.9, h = wall, $fn = 360/15);
+       }
+       difference() {
+               translate([0, 0, -eps])
+                       cylinder(r = pin_d/2, h = infty, $fn = 32);
+               rotate([0, 0, slot_angle])
+               translate([-pin_d/2-eps, -slot_w/2, 0])
+                       cube([pin_d+2*eps, slot_w, slot_h-eps]);
+       }
+}
+
+               
+