From: Jan "Yenya" Kasprzak Date: Wed, 6 Dec 2017 09:04:52 +0000 (+0100) Subject: rc plane ski: alternative version X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=dea780bcc2c80535d2078cb5911cb5a83b05e8b8;p=things.git rc plane ski: alternative version --- diff --git a/rc-plane-ski.scad b/rc-plane-ski.scad index ebd4c56..61d9b8f 100644 --- a/rc-plane-ski.scad +++ b/rc-plane-ski.scad @@ -4,21 +4,45 @@ eps = 0.01; base_w = 30; base_l = 150; +center_w = 5; +center_l = base_l - base_w; +center_h = 1.5; + tip_r = 25; tip_rv = 25; tip_rv_off = base_l/2-2; -wall = 1.25; +wall = 1.2; -axle_hole = 3; -axle_h = 7; -axle_off = base_l/6; -axle_cube = 10; +axle_hole = 1.2 + 0.5; +axle_slot = 1.2; +axle_top_l = 15; +axle_bot_l = 20; +axle_top_w = 3; +axle_bot_w = 10; +axle_h = 3; module body() { // base translate([-base_l/2, 0 ]) cube([base_l, wall, base_w]); + // center reinforcement + intersection() { + translate([-center_l/2, wall, base_w/2]) + rotate([0, 90, 0]) + scale([1, center_h/center_w, 1]) + cylinder(r = center_w, h = center_l, $fn = 4); + translate([-infty/2, eps, 0]) + cube(infty); + } + + hull() { + translate([-axle_bot_w/2, wall, base_w/2-axle_bot_l/2]) + cube([axle_bot_w, eps, axle_bot_l]); + translate([-axle_top_w/2, wall+axle_h, base_w/2-axle_top_l/2]) + cube([axle_top_w, eps, axle_top_l]); + } + // tip intersection() { // the main tube @@ -37,17 +61,24 @@ module body() { cylinder(r = tip_rv, h = base_w + 2*eps); } - // axle block +} + +module ski() { difference() { - translate([axle_off - axle_cube/2, wall, 0]) - cube([axle_cube, axle_cube/2 + axle_h, axle_cube]); - translate([axle_off, axle_h + wall, -eps]) - cylinder(r = axle_hole/2, h = axle_cube + 2*eps); + body(); + // slot + translate([-axle_slot/2, wall+axle_h/2, 0]) + cube([axle_slot, infty, base_w]); + // hole + translate([0, wall+axle_h/2, 0]) + cylinder(r = axle_hole/2, h = base_w, $fn = 6); } } +// ski(); + // left and right part for (i = [-1, 1]) scale([1, i, 1]) - translate([0, axle_h, 0]) - body(); + translate([0, 8, 0]) + ski();