]> www.fi.muni.cz Git - things.git/blob - ft-scout-elevator-reinforcement.scad
switch holder.scad
[things.git] / ft-scout-elevator-reinforcement.scad
1 infty = 100;
2 eps = 0.01;
3
4 center_l = 16;
5 foam_w = 3.25;
6 center_thick = 0.8;
7 side_thick = 0.8;
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 rotate([180, 0, 0]) // print it upside down
16 difference() {
17         // main body
18         translate([-foam_w/2-side_thick, -body_w/2, -rear_l-center_thick])      
19                 cube([foam_w + 2*side_thick, body_w, rear_l + center_thick + front_l]);
20         // front slot
21         translate([-foam_w/2, -body_w/2-eps, 0])
22                 cube([foam_w, body_w+2*eps, front_l + eps]);
23         // inner slanted sides
24         for(y = [-1, 1]) scale([1, y, 1])
25         translate([0, center_l/2, 0])
26         rotate([side_angle, 0, 0])
27         translate([-foam_w/2, 0, -infty/2])
28                 cube([foam_w, infty, infty]);
29         // outer hole for rudder
30         intersection() {
31                 hull() for (y = [-1:1]) scale([1, y, 1]) {
32                         translate([0, center_l/2, 0])
33                         rotate([side_angle, 0, 0])
34                         translate([-infty/2, -center_thick, -infty])
35                                 cube([infty, eps, infty]);
36                 }
37                 translate([-infty/2, -infty/2, -infty-center_thick])
38                         cube(infty);
39         }
40         // debug
41         // translate([-infty, -infty/2, -infty/2])
42         //      cube(infty);
43 }