]> www.fi.muni.cz Git - things.git/commitdiff
another take on rc control horn
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 31 May 2018 06:47:41 +0000 (08:47 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 31 May 2018 06:47:41 +0000 (08:47 +0200)
rc-control-horn-long.scad [new file with mode: 0644]

diff --git a/rc-control-horn-long.scad b/rc-control-horn-long.scad
new file mode 100644 (file)
index 0000000..c98fe87
--- /dev/null
@@ -0,0 +1,55 @@
+eps = 0.01;
+infty = 100;
+
+wall = 1;
+
+slot_off_x = 8;
+slot_off_y = 8;
+
+slot_l = 30;
+slot_depth_front = 6;
+slot_depth_rear = 2;
+
+hole_h = 20;
+hole_d = 1.5;
+hole_step = 1.8*hole_d;
+n_holes = 3;
+
+base_angle = 5;
+
+hole_side = 2*wall;
+
+module horn() {
+       difference() {
+       hull() {
+               // base
+               rotate([0, 0, base_angle]) {
+                       translate([slot_off_x, slot_depth_front-eps, 0])
+                               cube([eps, eps, wall]);
+                       translate([slot_off_x + slot_l - eps, slot_depth_rear-eps, 0])
+                               cube([eps, eps, wall]);
+               }
+
+                       for (y = [1:n_holes]) {
+                               translate([0, hole_h -(y-1)*hole_step, 0])
+                                       cylinder(r = hole_d/2 + hole_side,
+                                               h = wall, $fn = 6);
+                       }
+               }
+
+               for (y = [1:n_holes]) {
+                       translate([0, hole_h -(y-1)*hole_step, -eps])
+                               cylinder(r = hole_d/2, h = wall + 2*eps, $fn = 6);
+               }
+       }
+
+       // slot
+       rotate([0, 0, base_angle]) hull() {
+               translate([slot_off_x, 0, 0])
+                       cube([eps, slot_depth_front, wall]);
+               translate([slot_off_x + slot_l - eps, 0, 0])
+                       cube([eps, slot_depth_rear, wall]);
+       }
+}
+
+horn();