X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=rc-plane-wheel.scad;h=3cd36993bff8b4b056bbdd1ae7aa98a372fc39a1;hb=HEAD;hp=cd843f9c79cf3d55d2cf798512bb6b73e9a5d0f6;hpb=9fd237cd697454a2537a161ba246179648bd09a5;p=things.git diff --git a/rc-plane-wheel.scad b/rc-plane-wheel.scad index cd843f9..3cd3699 100644 --- a/rc-plane-wheel.scad +++ b/rc-plane-wheel.scad @@ -1,22 +1,83 @@ infty = 100; eps = 0.01; +/* +// FT Mini Scout - 5 cm, light 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; +wheel_rim = 4.5; min_wall = 0.5; spokes = 5; spoke_w = 3.5; -spoke_h = 1.5; +spoke_h = 2; +spoke_xoff = 10; +spoke_r = 11.5; +spoke_center_h = 5; -center_d = 5; -center_hole = 1 + 0.5; +center_d = 12; +center_d2 = 6; +center_hole = 1.2 + 1.3; center_h = 8; +*/ + +// Sky Surfer 1400 - 6.5 cm, heavier +wheel_d = 65; +wheel_h = 5; +wheel_thick_outer = 1.0; +wheel_thick_inner = 2.0; +wheel_rim = 6; + +min_wall = 1; + +spokes = 5; +spoke_w = 5; +spoke_h = 3.5; +spoke_xoff = 12; +spoke_r = 15.3; +spoke_center_h = 8; + +center_d = 16; +center_d2 = 9; +center_hole = 2.5 + 1.0; +center_h = 12; + +wheel_d1 = wheel_d + wheel_h/2; // center of the rim + +module spoke() { + intersection() { + translate([-spoke_r, spoke_xoff, 0]) + rotate_extrude($fn = 128) { + translate([spoke_r, 0, 0]) + polygon(points = [ + [-spoke_w/2, 0], [spoke_w/2, 0], + [spoke_w/2, min_wall], [min_wall/2, spoke_h], + [-min_wall/2, spoke_h], + [-spoke_w/2, min_wall]] + ); + } + cylinder(r = wheel_d/2, h = infty); + translate([-infty/2, spoke_xoff, 0]) cube(infty); + } + hull() { + // front bottom + translate([-spoke_w/2, spoke_xoff, 0]) + cube([spoke_w, eps, min_wall]); + // front top + translate([-min_wall/2, spoke_xoff, 0]) + cube([min_wall, eps, spoke_h]); + // center bottom + translate([-spoke_w, 0, 0]) + cube([2*spoke_w, eps, min_wall]); + // center top + translate([-min_wall/2, 0, spoke_center_h]) + cube([min_wall, eps, eps]); + } + +} module body() { // rim @@ -38,20 +99,41 @@ module body() { // spokes for (a = [0:360/spokes:360-eps]) { rotate([0, 0, a]) - hull() { - translate([-spoke_w/2, 0, 0]) - 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]); - } + spoke(); } - cylinder(r1 = center_d/2, r2 = center_hole/2 + 2*min_wall, h = center_h); + // center cylinders + cylinder(r1 = center_d/2, r2 = center_d2/2, h = center_h/2+eps, $fn = 4*spokes); + translate([0, 0, center_h/2]) + cylinder(r1 = center_d2/2, r2 = center_hole/2 + 2*min_wall, h = center_h/2, $fn = 4*spokes); +} + +module wheel() { + difference() { + body(); + // center hole + translate([0, 0, -eps]) + cylinder(r = center_hole/2, h = center_h + 2*eps); + } } -difference() { - body(); - // center hole - translate([0, 0, -eps]) - cylinder(r = center_hole/2, h = center_h + 2*eps); +stopper_d = 6; +stopper_h = 3; +stopper_hole = 1.2 + 0.5; + +module stopper() { + difference() { + cylinder(r1 = stopper_d/2, r2 = stopper_hole/2 + 2*min_wall, h = stopper_h); + translate([0, 0, -eps]) + cylinder(r = stopper_hole/2, h = stopper_h + 2*eps); + } +} + +for (y = [-1, 1]) scale([1, y, 1]) translate([0, wheel_d/2 + 3, 0]) { + wheel(); + +/* + translate([wheel_d/2 + stopper_d, 0, 0]) + stopper(); +*/ }