// The Estes A8-3 and C6-7 motors have diameter of 17.7 mm, // length 69.5 mm. The Estes Alpha launch pad has rod diameter 3.4 mm. eps = 0.01; infty = 1000; r_vect = [ 25, 25, 25, 24.95, 24.8, 24.7, 24.55, 24.3, 24.0, 23.75, 23.4, 22.9, 22.4, 21.8, 21.0, 20.3, 19.4, 18.3, 17.0, 15.7, 14.1, 12.3, 10.2, 7.5, 4.3, 0 ]; h_step = 5; $fn = 128; sc = 18.5/50; module cone() { difference() { for (x=[0 : len(r_vect)-2]) { translate([0, 0, x*h_step*sc]) cylinder(r1 = sc*r_vect[x]+1.5, r2 = sc*r_vect[x+1]+1.5, h = sc*h_step+eps); }; for (x=[0 : len(r_vect)-2]) { translate([0, 0, (x-1)*h_step*sc]) cylinder(r1 = sc*r_vect[x], r2 = sc*r_vect[x+1], h = sc*h_step+eps); }; }; /* translate([0, 0, -1.6]) cylinder(r1 = r_vect[0] - 0.8, r2 = r_vect[0], h = 1.6+eps); translate([0, 0, -20]) cylinder(r = r_vect[0]-0.8, h = 20+eps); */ }; cone(); /* render() difference() { minkowski() { render() cone(); sphere(r = wall); }; cone(); }; */ motor_diam = 18.5; wall = 1.5; infty = 1000; translate([motor_diam/2 + wall + 3, 0, 0]) difference() { union() { cylinder(r = 3 + wall, h = 5); translate([-3 -wall, -3 -wall, 0]) cube([3 + wall, 6 + 2*wall, 5]); }; translate([0, 0, -infty/2]) cylinder(r = 3, h = infty); };