]> www.fi.muni.cz Git - things.git/blob - disposable-rocket-cone.scad
Prototype parts of a disposable model rocket.
[things.git] / disposable-rocket-cone.scad
1
2 // motor prumer 17.7, delka 69.5
3 // tycka prumer 3.4 mm
4
5 eps = 0.01;
6
7 r_vect = [
8   25, 25, 25, 24.95, 24.8, 24.7,
9   24.55, 24.3, 24.0, 23.75, 23.4, 22.9,
10   22.4, 21.8, 21.0, 20.3, 19.4, 18.3,
11   17.0, 15.7, 14.1, 12.3, 10.2, 7.5,
12   4.3, 0 ];
13
14 h_step = 5;
15
16 $fn = 128;
17
18 sc = 18.5/50;
19
20 module cone() {
21         difference() {
22                 for (x=[0 : len(r_vect)-2]) {
23                         translate([0, 0, x*h_step*sc])
24                                 cylinder(r1 = sc*r_vect[x]+1.5, r2 = sc*r_vect[x+1]+1.5, h = sc*h_step+eps);
25                 };
26                 for (x=[0 : len(r_vect)-2]) {
27                         translate([0, 0, (x-1)*h_step*sc])
28                                 cylinder(r1 = sc*r_vect[x], r2 = sc*r_vect[x+1], h = sc*h_step+eps);
29                 };
30         };
31 /*
32         translate([0, 0, -1.6])
33                 cylinder(r1 = r_vect[0] - 0.8, r2 = r_vect[0], h = 1.6+eps);
34         translate([0, 0, -20])
35                 cylinder(r = r_vect[0]-0.8, h = 20+eps);
36 */
37 };
38
39 cone();
40 /*
41 render() difference() {
42         minkowski() {
43                 render() cone();
44                 sphere(r = wall);
45         };
46         cone();
47 };
48 */
49                 
50
51 motor_diam = 18.5;
52 wall = 1.5;
53 infty = 1000;
54
55         translate([motor_diam/2 + wall + 3, 0, 0])
56                 difference() {
57                         union() {
58                                 cylinder(r = 3 + wall, h = 5);
59                                 translate([-3 -wall, -3 -wall, 0])
60                                         cube([3 + wall, 6 + 2*wall, 5]);
61                         };
62                         translate([0, 0, -infty/2])
63                                 cylinder(r = 3, h = infty);
64                 };