X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=mini-arrow-fuselage-front.scad;h=dbb27c19ab4bddf232a9c58b2edd21794f95dcb0;hb=HEAD;hp=be337d5bb8d756223a3502366da0be5c02458ab5;hpb=74125aaee8fec44640919c80616fbf48eef55499;p=things.git diff --git a/mini-arrow-fuselage-front.scad b/mini-arrow-fuselage-front.scad index be337d5..dbb27c1 100644 --- a/mini-arrow-fuselage-front.scad +++ b/mini-arrow-fuselage-front.scad @@ -3,7 +3,7 @@ infty = 300; fuse_w = 60; fuse_h = 33-3; -fuse_l = 80; +fuse_l = 100; wall = 2; @@ -13,11 +13,19 @@ wing_hole_x = 25; wing_hole_l = 25; wing_hole_h = 8; +rear_edge_w = 4; +rear_edge_h = 19 -3 ; // see front_rod_h from mini-arrow-fuselage.scad +rear_edge_l = 132-121.5; // fuse_l - front_rod_x from mini-arrow-fuselage.scad + +include +spring_width = 23; +spring_beam_w = 3; + difference() { translate([0, -fuse_w/2, 0]) intersection() { - cube([fuse_l, fuse_w, fuse_h]); - translate([0, 0, front_h]) - scale([fuse_l/(fuse_h-front_h), 1, 1]) + cube([fuse_l - spring_width + spring_beam_w, fuse_w, fuse_h]); + translate([rear_edge_l, 0, front_h]) + scale([(fuse_l-rear_edge_l)/(fuse_h-front_h), 1, 1]) rotate([-90, 0, 0]) cylinder(r = fuse_h-front_h, h = fuse_w, $fn = 128); @@ -35,17 +43,30 @@ difference() { translate([0, fuse_w/2, -10*0.707]) rotate([45, 0, 0]) cube([fuse_l, 10, 10]); + // rear end + for (y = [-1, 1]) scale([1, y, 1]) + translate([0, fuse_w/2, 0]) + rotate([0, 0, 60]) + cylinder(r = rear_edge_w, h = rear_edge_h, $fn = 4); }; // wing hole translate([wing_hole_x, -fuse_w/2-eps, wall]) cube([wing_hole_l, fuse_w + 2*eps, wing_hole_h]); // center squares - for (x = [9:16:fuse_l - 15]) + for (x = [9:16:fuse_l - 30]) for (y = [0,16]) for (n = [0, 16/2]) for (s = [-1, 1]) scale([1, s, 1]) translate([x+n, y-n, -eps]) cylinder(r = 6, h = wall + 2*eps, $fn = 4); + // top underhang + translate([rear_edge_l-infty, -infty/2, rear_edge_h]) + cube(infty); } + +translate([fuse_l - spring_width/2, 0, 0]) +rotate([0, 0, 90]) + spring(); +