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