From 21dac1cdeea1238fd4676633573c333c7c4fd8f8 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Mon, 6 Feb 2017 10:35:44 +0100 Subject: [PATCH] rc plane ski: first version --- rc-plane-ski.scad | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 rc-plane-ski.scad diff --git a/rc-plane-ski.scad b/rc-plane-ski.scad new file mode 100644 index 0000000..ebd4c56 --- /dev/null +++ b/rc-plane-ski.scad @@ -0,0 +1,53 @@ +infty = 300; +eps = 0.01; + +base_w = 30; +base_l = 150; + +tip_r = 25; +tip_rv = 25; +tip_rv_off = base_l/2-2; +wall = 1.25; + +axle_hole = 3; +axle_h = 7; +axle_off = base_l/6; +axle_cube = 10; + +module body() { + // base + translate([-base_l/2, 0 ]) + cube([base_l, wall, base_w]); + + // tip + intersection() { + // the main tube + difference() { + translate([base_l/2, tip_r, 0]) + cylinder(r = tip_r, h = base_w, $fn = 128); + translate([base_l/2, tip_r, -eps]) + cylinder(r = tip_r - wall, h = base_w+2*eps, $fn = 128); + } + // the appropriate quarter of the tube only + translate([base_l/2, -eps, -eps]) + cube([tip_r + eps, tip_r + eps, base_w+2*eps]); + // make the tip round + translate([tip_rv_off, -eps, base_w/2-eps]) + rotate([-90, 0, 0]) + cylinder(r = tip_rv, h = base_w + 2*eps); + } + + // axle block + 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); + } +} + +// left and right part +for (i = [-1, 1]) scale([1, i, 1]) + translate([0, axle_h, 0]) + body(); + -- 2.43.0