]> www.fi.muni.cz Git - things.git/blob - disposable-rocket-fins.scad
zaves-clip
[things.git] / disposable-rocket-fins.scad
1 eps = 0.01;
2 infty = 1000;
3
4 motor_diam = 18;
5 wall = 1.5;
6
7 cyl_h = 30;
8 clip_angle = 40;
9
10 module fin() {
11         assign(h1 = cyl_h, h2 = 20, h_off = 50, w = 30, fin_w = 1.0)
12         translate([0, -fin_w/2, 0])
13         hull() { 
14                 cube([eps, fin_w, h1]);
15                 translate([w, 0, h_off])
16                         cube([eps, fin_w, h2]);
17         };
18 };
19
20 module body() {
21         difference() {
22                 cylinder(r = motor_diam/2 + wall, h = cyl_h);
23                 translate([0, 0, -infty/2])
24                         cylinder(r = motor_diam/2, h = infty);
25                 for (a = [-clip_angle/2, clip_angle/2])
26                         rotate([0, 0, a])
27                         translate([0, -wall/2, cyl_h/2])
28                                 cube([infty, wall, infty]);
29         };
30
31         for (a = [60, 180, 300]) {
32                 rotate([0, 0, a])
33                 translate([motor_diam/2 + wall/2, 0, 0])
34                         fin();
35         };
36
37         translate([motor_diam/2 + wall + 3, 0, 0])
38                 difference() {
39                         union() {
40                                 cylinder(r = 3 + wall, h = 5);
41                                 translate([-3 -wall, -3 -wall, 0])
42                                         cube([3 + wall, 6 + 2*wall, 5]);
43                         };
44                         translate([0, 0, -infty/2])
45                                 cylinder(r = 3, h = infty);
46                 };
47 };
48
49 body();
50