]> www.fi.muni.cz Git - things.git/commitdiff
quasar fuselage triangle
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 14 Jan 2021 16:43:04 +0000 (17:43 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 14 Jan 2021 16:43:04 +0000 (17:43 +0100)
quasar-triangle.scad [new file with mode: 0644]

diff --git a/quasar-triangle.scad b/quasar-triangle.scad
new file mode 100644 (file)
index 0000000..4ed5f32
--- /dev/null
@@ -0,0 +1,59 @@
+infty = 200;
+eps = 0.01;
+
+wall = 1.2;
+base_w = 4;
+thin_wall = 0.6;
+body_h = 4;
+
+module tbar() {
+       translate([-infty/4, 0, 0]) {
+               cube([infty/2, base_w, thin_wall]);
+               cube([infty/2, thin_wall, body_h]);
+               hull() {
+                       translate([0, 0.7*base_w, 0])
+                               cube([infty/2, thin_wall, eps]);
+                       translate([0, 0, body_h-eps])
+                               cube([infty/2, thin_wall, eps]);
+               }
+       }
+}
+
+module side_cube() {
+       translate([-infty/2, 0, -eps])
+               cube([infty, infty, body_h+2*eps]);
+}
+
+module triangle(w, h) {
+       intersection() {
+               union() {
+                       tbar();
+                       translate([w/2, 0, 0])
+                       rotate([0, 0, 90+atan(w/(2*h))])
+                       translate([infty/5, 0, 0])
+                               tbar();
+                       translate([-w/2, 0, 0])
+                       rotate([0, 0, -90-atan(w/(2*h))])
+                       translate([-infty/5, 0, 0])
+                               tbar();
+               }
+                       side_cube();
+                       translate([w/2, 0, 0])
+                       rotate([0, 0, 90+atan(w/(2*h))])
+                       translate([infty/5, 0, 0])
+                               side_cube();
+                       translate([-w/2, 0, 0])
+                       rotate([0, 0, -90-atan(w/(2*h))])
+                       translate([-infty/5, 0, 0])
+                               side_cube();
+       }
+}
+
+triangle(50, 80);
+translate([50, 0, 0])
+triangle(40, 70);
+translate([85, 0, 0])
+triangle(15, 50);
+translate([105, 0, 0])
+triangle(15, 70);
+