X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=3d-printables%2Fwheel.scad;h=eee5dd1dd3ec2e892efe04a5b3906eee85bd2b45;hb=3d90aff00bdea5d4a525d006d5390f9c5a25c635;hp=87ec2865c38c456da267159bce0b19b41291c92d;hpb=fa6c6440266670ea11fda3d8bb5a9d48553e00d2;p=challenge-bot diff --git a/3d-printables/wheel.scad b/3d-printables/wheel.scad index 87ec286..eee5dd1 100644 --- a/3d-printables/wheel.scad +++ b/3d-printables/wheel.scad @@ -7,67 +7,22 @@ // use $fn = 20 while developing, 100 when about to print // 20 will make previews fast // 100 will make printing smooth -$fn = 20; - -wheel_depth = 6; -wheel_radius = 68/2; - -module encoder_shaft(){ - // measured with calipers, checked against the motor shaft - motor_shaft_big = 3.7; // radius, gets doubled in cylinder - motor_shaft_small = 4.8; // total length of box - motor_shaft_length = wheel_depth * 3 / 4; - - intersection(){ - cylinder(h = motor_shaft_length, r = motor_shaft_big, center = true); - // x direction is multiplied by 2 because the radius of the cylinder - // goes in both directions. the extra .1 is for overlap - cube([motor_shaft_big * 2.1, motor_shaft_small, motor_shaft_length], - center = true);}} - -module mounting_screw(){ - cylinder(h = wheel_depth * 1.1, r = 1, center = true);} - -module wheel(){ - translate([0, 0, wheel_depth / 2]){ - difference(){ - cylinder(h = wheel_depth, r = wheel_radius, center = true); - translate([0, 0, wheel_depth / 4]){ - scale([1, 1, 1.1]){ - encoder_shaft();}} - mounting_screw(); - for(i = [1 : 5]){ - rotate(i * 360/5, [0, 0, 1]){ - translate([0, 0, -0.6 * wheel_depth]) - between_spokes();}} - translate([0, 0, wheel_depth / 4]){ - difference(){ - cylinder(h = wheel_depth / 1.2, - r = 0.85 * wheel_radius, - center = true); - cylinder(h = wheel_depth / 1.2, - r = 0.23 * wheel_radius, - center = true);}}}}} - -module wheel_block(){ - cube([wheel_radius, wheel_radius, wheel_depth]);} - -module pie_slice(){ - intersection(){ - translate([0, 0, wheel_depth / 2]){ - cylinder(h = wheel_depth, - r = 0.85 * wheel_radius, - center = true);} - translate([0, wheel_radius * 0.3, 0]){ - rotate([0, 0, (360 / 5) / 2]){ - intersection(){ - wheel_block(); - rotate([0, 0, 90 - 360 / 5]) - wheel_block();}}}}} - -module between_spokes(){ - minkowski(){ - pie_slice(); - cylinder(h = wheel_depth / 2, r = 1);}} - -wheel(); +$fn = 100; + +include + +/* +wheel(wheel_radius, + wheel_width, + motor_shaft_radius, + motor_shaft_flat_width, + wall_width, + tread_radius); +*/ + +wheel_solid(wheel_radius, + wheel_width, + motor_shaft_radius, + motor_shaft_flat_width, + wall_width, + tread_radius);