From d8c31c4991264642f5407467eb5e66809881ab86 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Sun, 5 Nov 2017 21:47:20 +0100 Subject: [PATCH] FT Scout Landing Gear - alternative layout --- ft-scout-landing-gear-support.scad | 110 +++++++++++++++++++---------- 1 file changed, 72 insertions(+), 38 deletions(-) diff --git a/ft-scout-landing-gear-support.scad b/ft-scout-landing-gear-support.scad index 5576c7e..fe916a3 100644 --- a/ft-scout-landing-gear-support.scad +++ b/ft-scout-landing-gear-support.scad @@ -7,51 +7,85 @@ gear_l = 25; spring_l = 6; base_w = fuse_w - 10; -base_l = gear_l + 3; -base_h = 1; +base_l = gear_l + 3.5; +base_h = 0.5; base_beam_w = spring_l + 2; +base_reinf_h = 1; +base_reinf_w = 1; + rear_spring_l = 3; rear_beam_w = rear_spring_l + 3; +rear_spring_w = 3; +rear_spring_bot_w = 7; +rear_slot_w = 0.8; + +side_spring_bot_w = 3.5; +side_spring_w = 1.5; -hook_wall = 1.5; +hook_wall = 1; hook_in = 1.5; +hook_h = base_h + base_reinf_h/2; -module hook(w) { - translate([0, w/2, base_h + hook_in/2]) - rotate([90, 90, 0]) - difference() { - hull() { - cylinder(r = hook_in/2 + hook_wall/2, h = w, $fn = 6); - translate([hook_in/2, 0, 0]) - cube([eps, hook_in/2 + hook_wall, w]); - } - translate([0, 0, -eps]) - cylinder(r = hook_in/2, h = w + 2*eps, $fn = 6); - translate([-infty/2, -infty, -infty/2]) cube(infty); - translate([hook_in/2 + eps,, -infty/2, -infty/2]) cube(infty); +module body() { + // wide beam + hull() { + translate([0, -base_w/2, 0]) + cube([base_beam_w, base_w, base_h]); + translate([base_beam_w/2-base_reinf_w/2, -base_w/2, base_h-eps]) + cube([base_reinf_w, base_w, base_reinf_h + eps]); } -} + // long center beam + hull() { + translate([base_beam_w/2, -rear_beam_w/2, 0]) + cube([base_l - base_beam_w/2, rear_beam_w, base_h]); + translate([base_beam_w/2, -base_reinf_w/2, base_h-eps]) + cube([base_l - base_beam_w/2, base_reinf_w, base_reinf_h + eps]); + } + // rear hook + 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_w/2, -rear_spring_l/2, hook_h+hook_in+hook_wall-eps]) + cube([rear_spring_w, rear_spring_l, eps]); + } + + // side hooks + for (y = [-1, 1]) scale([1, y, 1]) intersection() { + translate([0, gear_w/2, eps]) rotate([0, 0, -20]) + 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]); + } + // 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([-5, 0, 0]) + cube(20); + + } +} -// wide beam -translate([0, -base_w/2, 0]) - cube([base_beam_w, base_w, base_h]); -// long center beam -translate([0, -rear_beam_w/2, 0]) - cube([base_l, rear_beam_w, base_h]); - -// rear hook -translate([gear_l, 0, 0]) - hook(rear_spring_l); -// rear front hook -translate([gear_l - hook_in/2, 0, 0]) - rotate([0, 0, 180]) - hook(rear_spring_l); - -// side hooks -for (y = [-1, 1]) scale([1, y, 1]) - translate([1, gear_w/2, 0]) - rotate([0, 0, 70]) - translate([0, -spring_l/2, 0]) - hook(spring_l); +difference() { + body(); + // rear hole + translate([gear_l, 0, hook_h+hook_in/2]) + rotate([90, 90, 0]) + 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]); + // side slots + for (y = [-1, 1]) scale([1, y, 1]) { + translate([0, gear_w/2, hook_h+hook_in/2]) { + rotate([0, 90, -20]) + translate([0, 0, -10]) + cylinder(r = hook_in/2, h = 20, $fn = 6); + } + } +} -- 2.43.0