]> www.fi.muni.cz Git - things.git/commitdiff
carbon tube rc motor firewall
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 8 Apr 2019 12:00:46 +0000 (14:00 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Mon, 8 Apr 2019 12:00:46 +0000 (14:00 +0200)
tube-firewall.scad [new file with mode: 0644]

diff --git a/tube-firewall.scad b/tube-firewall.scad
new file mode 100644 (file)
index 0000000..8c3533c
--- /dev/null
@@ -0,0 +1,61 @@
+eps = 0.01;
+infty = 100;
+
+
+base_d = 26;
+screw_d1 = 19;
+screw_d2 = 16;
+screw_hole = 3.5;
+base_wall = 1.5;
+
+motor_angle = 4;
+
+tube_d = 8+0.2;
+tube_h = 20;
+tube_wall = 1;
+
+module body() {
+       // base
+       cylinder(r = base_d/2, h = base_wall);
+       // tube
+       intersection() {
+               rotate([0, motor_angle, 0])
+                       cylinder(r = tube_d/2 + tube_wall, h = tube_h);
+               translate([-infty/2, -infty/2, 0])
+                       cube(infty);
+       }
+       // tube supports
+       for (angle = [45, 135, 225, 315])
+       rotate([0, 0, angle]) hull() {
+               translate([-eps/2, -tube_d/2, -eps/2])
+                       cube([eps, tube_d, eps]);
+               translate([base_d/2, -eps/2, -eps/2])
+                       cube(eps);
+               translate([tube_d/2, -eps/2, 0.9*tube_h])
+                       cube(eps);
+       }
+}
+
+module screw_hole() {
+       translate([0, 0, -eps])
+               cylinder(r = screw_hole/2, h = base_wall + 2*eps, $fn = 6);
+       translate([0, 0, base_wall/2])
+               cylinder(r1 = screw_hole/2,
+                       r2 = screw_hole/2 + base_wall/2,
+                       h = base_wall/2+eps, $fn = 6);
+}
+
+difference() {
+       body();
+       // screw holes
+       for (x = [-1, 1]) translate([x*screw_d1/2, 0, 0])
+               screw_hole();
+       for (y = [-1, 1]) translate([0, y*screw_d2/2, 0])
+               screw_hole();
+       // tube hole
+       rotate([0, motor_angle, 0])
+       translate([0, 0, -infty/2])
+               cylinder(r = tube_d/2, h = infty);
+}
+
+