X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=rocket.scad;h=3649fe197ee22a29efb64551cda57193d7c87a1a;hb=15e399685ee2fff2e43abe91aeb4ebf70f3b2e3c;hp=b0bf08834139e63eedfeab843734fba84e1df8af;hpb=538652f820660c5cedd6a843fc421e572e4536b2;p=things.git diff --git a/rocket.scad b/rocket.scad index b0bf088..3649fe1 100644 --- a/rocket.scad +++ b/rocket.scad @@ -2,19 +2,19 @@ // 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. -motor_diam = 17.7 + 0.7; // add some tolerance +motor_diam = 17.7 + 0.5; // add some tolerance motor_len = 69.5 + 0.5; motor_wall = 2; segment_overlap = 15; -thin_wall = 1.0; // depends on the print width -thick_wall = 2.5*thin_wall; +thin_wall = 0.9; // depends on the print width +thick_wall = 2.2*thin_wall; clip_spring_angle = 45; clip_spring_depth = 20; -rod_diam = 4; +rod_diam = 3.4 + 1; rubber_beam_height = 3; eps = 0.01; @@ -68,9 +68,9 @@ module motor_module_solid() // protrusions to hold the main tube in place for (a = [60, 180, 300]) { rotate([0, 0, a]) { - translate([motor_diam/2 - thin_wall, 0, 0]) + translate([motor_diam/2 + thick_wall - thin_wall/2 - thick_wall, 0, 0]) cylinder(r1 = thick_wall-thin_wall/2, r2 = thick_wall, h = segment_overlap/3 + eps); - translate([motor_diam/2 - thin_wall, 0, segment_overlap/3]) + translate([motor_diam/2 + thick_wall - thin_wall/2 - thick_wall, 0, segment_overlap/3]) cylinder(r = thick_wall, h = 2*segment_overlap/3 + eps); }; }; @@ -140,7 +140,7 @@ module motor_module() { translate([0, 0, motor_len - segment_overlap - 2*thick_wall]) cylinder(r1 = motor_diam/2 + thin_wall, r2 = motor_diam/2, h = thick_wall + eps); }; - for (a = [60, 180, 300]) rotate([0, 0, a]) + for (a = [0, 120, 240]) rotate([0, 0, a]) translate([motor_diam/2 + 2.5, 0, -eps]) cylinder(r = 3, h = infty); }; @@ -153,7 +153,7 @@ module motor_module() { }; translate([0, 0, motor_len - eps]) intersection() { - cylinder(r = motor_diam/2 + thin_wall, + cylinder(r = motor_diam/2, h = thick_wall + 2*eps); rotate([0, 0, -clip_spring_angle/2+eps]) cube(infty); @@ -171,7 +171,7 @@ module motor_module() { // -------------------- CENTRAL TUBE --------------------- -central_tube_h = 80; +central_tube_h = 85; module central_tube_solid() { cylinder(r = motor_diam/2 + thick_wall, h = central_tube_h); @@ -187,7 +187,7 @@ module central_tube() { // rubber band holder intersection() { cylinder(r = motor_diam/2 + thick_wall - eps, h = central_tube_h); - translate([motor_diam/2-thin_wall, -infty/2, + translate([motor_diam/2 - thick_wall, -infty/2, segment_overlap + thick_wall]) cube([thin_wall, infty, rubber_beam_height]); }; @@ -275,14 +275,16 @@ module thread_holder() { // thread_holder(); +/* // debug difference() { // front_cone(); // central_tube(); - // motor_module(); + motor_module(); - // translate([0, 0, -eps]) cube(infty); + translate([0, 0, -eps]) cube(infty); }; +*/ // production $fn = 128;