X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=rc-plane-wheel.scad;h=b5d70f66b22e53f1420931aacaa396ec1a1744b4;hb=d8c31c4991264642f5407467eb5e66809881ab86;hp=869ca1b31aa90b850e5ce6058e9697b958d83c9f;hpb=973f3d211adaa37648e434444cbf7afe9d1ac2b2;p=things.git diff --git a/rc-plane-wheel.scad b/rc-plane-wheel.scad index 869ca1b..b5d70f6 100644 --- a/rc-plane-wheel.scad +++ b/rc-plane-wheel.scad @@ -1,43 +1,57 @@ infty = 100; eps = 0.01; -wheel_d = 60; -wheel_h = 4; -wheel_thick = 1; +wheel_d = 50; +wheel_h = 3; +wheel_d1 = wheel_d + wheel_h/2; +wheel_thick_outer = 0.5; +wheel_thick_inner = 1.5; +wheel_rim = 3.5; + +min_wall = 0.5; spokes = 5; -spoke_w = 5; -spoke_h = 3; +spoke_w = 3.5; +spoke_h = 1.5; -center_d = 8; -center_hole = 3; +center_d = 5; +center_hole = 1; +center_h = 8; module body() { // rim difference() { - cylinder(r = wheel_d/2, h = wheel_h, $fn = 128); + hull() { + cylinder(r = wheel_d/2, h = wheel_h, $fn = 128); + translate([0, 0, wheel_h/2-eps]) + cylinder(r = wheel_d1/2, h = 2*eps, $fn = 128); + } + translate([0,0,min_wall-eps]) + cylinder(r1 = wheel_d/2 - wheel_thick_inner, + r2 = wheel_d/2 - wheel_thick_outer, + h = wheel_h - min_wall+ 2*eps); translate([0,0,-eps]) - cylinder(r = wheel_d/2 - wheel_thick, h = wheel_h + 2*eps); + cylinder(r = wheel_d/2 - wheel_rim, + h = min_wall+2*eps); } // spokes for (a = [0:360/spokes:360-eps]) { rotate([0, 0, a]) - translate([2, 0, 0]) hull() { translate([-spoke_w/2, 0, 0]) - cube([spoke_w, wheel_d/2 - wheel_thick/2, eps]); - translate([-eps/2, 0, spoke_h-eps]) - cube([eps, wheel_d/2 - wheel_thick/2, eps]); + cube([spoke_w, wheel_d/2 - min_wall/2, min_wall]); + translate([-min_wall/2, 0, spoke_h-eps]) + cube([min_wall, wheel_d/2 - min_wall/2, eps]); } } - cylinder(r = center_d/2, h = wheel_h); + cylinder(r1 = center_d/2, r2 = center_hole/2 + 2*min_wall, h = center_h); } difference() { body(); // center hole translate([0, 0, -eps]) - cylinder(r = center_hole/2, h = wheel_h + 2*eps); + cylinder(r = center_hole/2, h = center_h + 2*eps); }