]> www.fi.muni.cz Git - things.git/blob - quasar-triangle.scad
quasar fuselage triangle
[things.git] / quasar-triangle.scad
1 infty = 200;
2 eps = 0.01;
3
4 wall = 1.2;
5 base_w = 4;
6 thin_wall = 0.6;
7 body_h = 4;
8
9 module tbar() {
10         translate([-infty/4, 0, 0]) {
11                 cube([infty/2, base_w, thin_wall]);
12                 cube([infty/2, thin_wall, body_h]);
13                 hull() {
14                         translate([0, 0.7*base_w, 0])
15                                 cube([infty/2, thin_wall, eps]);
16                         translate([0, 0, body_h-eps])
17                                 cube([infty/2, thin_wall, eps]);
18                 }
19         }
20 }
21
22 module side_cube() {
23         translate([-infty/2, 0, -eps])
24                 cube([infty, infty, body_h+2*eps]);
25 }
26
27 module triangle(w, h) {
28         intersection() {
29                 union() {
30                         tbar();
31                         translate([w/2, 0, 0])
32                         rotate([0, 0, 90+atan(w/(2*h))])
33                         translate([infty/5, 0, 0])
34                                 tbar();
35                         translate([-w/2, 0, 0])
36                         rotate([0, 0, -90-atan(w/(2*h))])
37                         translate([-infty/5, 0, 0])
38                                 tbar();
39                 }
40                         side_cube();
41                         translate([w/2, 0, 0])
42                         rotate([0, 0, 90+atan(w/(2*h))])
43                         translate([infty/5, 0, 0])
44                                 side_cube();
45                         translate([-w/2, 0, 0])
46                         rotate([0, 0, -90-atan(w/(2*h))])
47                         translate([-infty/5, 0, 0])
48                                 side_cube();
49         }
50 }
51
52 triangle(50, 80);
53 translate([50, 0, 0])
54 triangle(40, 70);
55 translate([85, 0, 0])
56 triangle(15, 50);
57 translate([105, 0, 0])
58 triangle(15, 70);
59