X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=ft-scout-landing-gear-support.scad;h=9063f6c950775a692cea285665478f6e6452f974;hb=HEAD;hp=fe916a356511d52ee605a9c1f3c629c66937f96f;hpb=d8c31c4991264642f5407467eb5e66809881ab86;p=things.git diff --git a/ft-scout-landing-gear-support.scad b/ft-scout-landing-gear-support.scad index fe916a3..9063f6c 100644 --- a/ft-scout-landing-gear-support.scad +++ b/ft-scout-landing-gear-support.scad @@ -2,31 +2,42 @@ infty = 100; eps = 0.01; fuse_w = 40; -gear_w = fuse_w - 16; -gear_l = 25; +fuse_l = 50; + +gear_w = fuse_w - 6; +gear_l = fuse_l - 5; // 26 spring_l = 6; -base_w = fuse_w - 10; -base_l = gear_l + 3.5; -base_h = 0.5; +base_w = fuse_w; +base_l = gear_l + 5; +base_h = 1.2; base_beam_w = spring_l + 2; -base_reinf_h = 1; -base_reinf_w = 1; +base_reinf_h = 1.5; +base_reinf_w = 2; -rear_spring_l = 3; -rear_beam_w = rear_spring_l + 3; +rear_spring_l = 2.5; +rear_spring_rear_l = 6; +rear_beam_w = rear_spring_l + 4; rear_spring_w = 3; -rear_spring_bot_w = 7; -rear_slot_w = 0.8; +rear_spring_front_bot_w = 15; +rear_spring_bot_w = 10; +rear_slot_w = 1.4; side_spring_bot_w = 3.5; side_spring_w = 1.5; hook_wall = 1; -hook_in = 1.5; +hook_in = 1.7; hook_h = base_h + base_reinf_h/2; +side_hook_angle = 4; +side_hook_angle_cut = 10; + +base_h = 0.6; module body() { + // base plate + translate([0, -fuse_w/2, 0]) cube([fuse_l, fuse_w, base_h]); + // wide beam hull() { translate([0, -base_w/2, 0]) @@ -43,29 +54,40 @@ module body() { cube([base_l - base_beam_w/2, base_reinf_w, base_reinf_h + eps]); } - // rear hook + // rear hook - front part hull() { - translate([gear_l-rear_spring_bot_w/2, -rear_spring_l/2, base_h]) - cube([rear_spring_bot_w, rear_spring_l, eps]); + translate([gear_l-rear_spring_front_bot_w/2, -rear_spring_l/2, base_h]) + cube([rear_spring_front_bot_w/2-rear_slot_w/2, rear_spring_l, eps]); translate([gear_l-rear_spring_w/2, -rear_spring_l/2, hook_h+hook_in+hook_wall-eps]) - cube([rear_spring_w, rear_spring_l, eps]); + cube([rear_spring_w/2-rear_slot_w, rear_spring_l, eps]); + } + // rear hook - rear part + hull() { + translate([gear_l, -rear_spring_rear_l/2, base_h]) + cube([rear_spring_bot_w/2, rear_spring_rear_l, eps]); + translate([gear_l, -rear_spring_rear_l/2, hook_h+hook_in+hook_wall-eps]) + cube([rear_spring_w/2, rear_spring_rear_l, eps]); } // side hooks for (y = [-1, 1]) scale([1, y, 1]) intersection() { - translate([0, gear_w/2, eps]) rotate([0, 0, -20]) + translate([0, gear_w/2, eps]) rotate([0, 0, -side_hook_angle]) translate([-10, 0, 0]) hull() { - cube([20, side_spring_bot_w, base_h-eps]); - cube([20, side_spring_w, hook_h + hook_in + hook_wall-eps]); + translate([0, -side_spring_bot_w, 0]) + cube([20, 2*side_spring_bot_w, base_h-eps]); + translate([0, -side_spring_w, 0]) + cube([20, 2*side_spring_w, hook_h + hook_in + hook_wall-eps]); } // above the beam translate([0, -base_w/2, base_h/2]) cube([base_beam_w, base_w, infty]); // cut the front sides - translate([0, gear_w/2 + 0.8, eps]) - rotate([0, 0, -30]) +/* + translate([0, gear_w/2 + 1.25, eps]) + rotate([0, 0, -side_hook_angle_cut]) translate([-5, 0, 0]) cube(20); +*/ } } @@ -78,14 +100,23 @@ difference() { translate([0, 0, -rear_beam_w/2-eps]) cylinder(h = rear_beam_w+2*eps, r = hook_in/2, $fn = 6); // rear slot above the hole - translate([gear_l-rear_slot_w/2, -rear_beam_w/2+eps, hook_h+hook_in/2]) - cube([rear_slot_w, rear_beam_w+2*eps, infty]); + // translate([gear_l-rear_slot_w/2, -rear_beam_w/2+eps, hook_h+hook_in/2]) + // cube([rear_slot_w, rear_beam_w+2*eps, infty]); // side slots for (y = [-1, 1]) scale([1, y, 1]) { translate([0, gear_w/2, hook_h+hook_in/2]) { - rotate([0, 90, -20]) + rotate([0, 90, -side_hook_angle]) translate([0, 0, -10]) - cylinder(r = hook_in/2, h = 20, $fn = 6); + cylinder(r1 = hook_in, r2 = hook_in/2, h = 20, $fn = 6); + + rotate([0, 0, -side_hook_angle]) + rotate([25, 0, 0]) + hull() { + translate([-10, -rear_slot_w, 0]) + cube([eps, 2*rear_slot_w, 20]); + translate([10, -rear_slot_w/2, 0]) + cube([eps, rear_slot_w, 20]); + } } } }