]> www.fi.muni.cz Git - things.git/blob - ft-scout-elevator-reinforcement.scad
FT Scout: elevator reinforcement
[things.git] / ft-scout-elevator-reinforcement.scad
1 infty = 100;
2 eps = 0.01;
3
4 center_l = 16;
5 foam_w = 3;
6 center_thick = 1.5;
7 side_thick = 1.0;
8
9 body_w = center_l + 2*9;
10 front_l = 5;
11 rear_l = 8;
12
13 side_angle = 40; // smaller is narrower part (angle from the direction of flight)
14
15 difference() {
16         // main body
17         translate([-foam_w/2-side_thick, -body_w/2, -rear_l-center_thick])      
18                 cube([foam_w + 2*side_thick, body_w, rear_l + center_thick + front_l]);
19         // front slot
20         translate([-foam_w/2, -body_w/2-eps, 0])
21                 cube([foam_w, body_w+2*eps, front_l + eps]);
22         // inner slanted sides
23         for(y = [-1, 1]) scale([1, y, 1])
24         translate([0, center_l/2, 0])
25         rotate([side_angle, 0, 0])
26         translate([-foam_w/2, 0, -infty/2])
27                 cube([foam_w, infty, infty]);
28         // outer hole for rudder
29         intersection() {
30                 hull() for (y = [-1:1]) scale([1, y, 1]) {
31                         translate([0, center_l/2, 0])
32                         rotate([side_angle, 0, 0])
33                         translate([-infty/2, -center_thick, -infty])
34                                 cube([infty, eps, infty]);
35                 }
36                 translate([-infty/2, -infty/2, -infty-center_thick])
37                         cube(infty);
38         }
39         // debug
40         // translate([-infty, -infty/2, -infty/2])
41         //      cube(infty);
42 }