git.haldean.org h1a / 9062431
improvements on rocket ship design haldean 10 months ago
1 changed file(s) with 26 addition(s) and 31 deletion(s). Raw diff Collapse all Expand all
44 base_wall = 10;
55 standoff_height = 50;
66 otod_pad = 1.8;
7 fin_h = 50;
8 fin_w = 80;
7 neg_h = sleeve_h + 10;
8 base_r = 200;
9 base_thick = 30;
10 tongue_w = otod + 50;
911
10 module ring(height) {
12 module negative() {
1113 difference() {
12 cylinder(h=height, r=otod / 2 + base_wall);
13 translate([0, 0, -eps])
14 cylinder(h=height + 2 * eps, r=(otod + otod_pad) / 2);
14 translate([-250 - eps, -250 - eps, -10])
15 cube([500 + 2 * eps, 500 + 2 * eps, neg_h + 10]);
16 cylinder(h=neg_h + eps, r=base_r);
17 }
18 difference() {
19 cylinder(h=neg_h, r=(otod + otod_pad) / 2);
20 for (i = [0 : 1]) {
21 rotate([0, 0, 90 + 180 * i]) {
22 translate([-(otod + otod_pad) / 2, -base_wall/2, -eps]) union() {
23 cube([base_wall, base_wall, standoff_height]);
24 }
25 }
26 }
27 }
28 difference() {
29 cylinder(h=sleeve_h - base_thick, r=base_r - base_thick);
30 translate([-tongue_w / 2, -otod, -eps]) cube([tongue_w, base_r + otod, base_thick]);
1531 }
1632 }
1733
18 module base() {
19 union() {
20 difference() {
21 ring(sleeve_h);
22 translate([-channel_w/2, 0, -eps])
23 cube([channel_w, otod/2+base_wall+eps, channel_h]);
24 }
25 for (i = [0 : 3]) {
26 rotate([0, 0, 45 + 90 * i]) {
27 translate([-(otod + otod_pad) / 2, -base_wall/2, 0]) union() {
28 cube([base_wall, base_wall, standoff_height]);
29 }
30 translate([-otod/2 - base_wall, -base_wall/2, 0])
31 rotate([-90, 180, 0]) linear_extrude(base_wall)
32 polygon([[0, 0], [fin_w, 0], [0, fin_h]]);
33 }
34 }
35 }
36 }
37 %color("gray", 0.2)
38 translate([-330/2, -240/2, 0])
39 cube([330, 240, 300]);
40
41 base();
42 // ring(20);
34 difference() {
35 translate([-250, -250, eps]) cube([500, 500, sleeve_h]);
36 negative();
37 }