X-Git-Url: http://challenge-bot.com/repos/?p=challenge-bot;a=blobdiff_plain;f=3d-printables%2Fwheel.scad;fp=3d-printables%2Fwheel.scad;h=a37008333ae1207805cfa88ead7d60b11277d41e;hp=1d1994e45b66b7a112d62e7324c46101c86d7026;hb=180a0f6f6e33818372b49e01931ce8264f838cbc;hpb=cff668ccc47afea555fd5be790181e14bf9471d9 diff --git a/3d-printables/wheel.scad b/3d-printables/wheel.scad index 1d1994e..a370083 100644 --- a/3d-printables/wheel.scad +++ b/3d-printables/wheel.scad @@ -9,117 +9,105 @@ // 100 will make printing smooth $fn = 100; +include use -qr_size = 45; -qr_height = 2; +module mounting_screw_flat() { + circle(0.9); } -wall_width = 3; - -wheel_width = 9; -wheel_radius = sqrt(2 * pow(qr_size / 2, 2)) + wall_width / 2; - -motor_shaft_radius = 3.7; -motor_shaft_flat_width = 4.8; - -tread_radius = 4 / 2; - -module mounting_screw_flat(){ - circle(0.9);} - -module motor_shaft_flat(radius, flat_width){ - intersection(){ +module motor_shaft_flat(radius, flat_width) { + intersection() { circle(radius); - square([flat_width, radius * 2], center = true);}} + square([flat_width, radius * 2], center = true); } } module motor_shaft(radius, flat_width, - shaft_length){ - linear_extrude(height = shaft_length){ - motor_shaft_flat(radius, flat_width);}} + shaft_length) { + linear_extrude(height = shaft_length) { + motor_shaft_flat(radius, flat_width); } } -module rim(radius, wall_width, wheel_width){ - linear_extrude(height = wheel_width){ - difference(){ +module rim(radius, wall_width, wheel_width) { + linear_extrude(height = wheel_width) { + difference() { circle(radius); - circle(radius - wall_width);}}} + circle(radius - wall_width); } } } -module motor_shaft_holder_flat(radius, flat_width, wall_width){ - difference(){ +module motor_shaft_holder_flat(radius, flat_width, wall_width) { + difference() { motor_shaft_flat(radius + wall_width, flat_width + wall_width); - motor_shaft_flat(radius, flat_width);}} + motor_shaft_flat(radius, flat_width); } } -module motor_shaft_holder(radius, flat_width, wall_width, height){ - linear_extrude(height = height){ - motor_shaft_holder_flat(radius, flat_width, wall_width);}} +module motor_shaft_holder(radius, flat_width, wall_width, height) { + linear_extrude(height = height) { + motor_shaft_holder_flat(radius, flat_width, wall_width); } } -module tread(wheel_radius, tread_radius){ - rotate_extrude(convexity = 10){ - translate([wheel_radius, 0]){ - circle(tread_radius);}}} +module tread(wheel_radius, tread_radius) { + rotate_extrude(convexity = 10) { + translate([wheel_radius, 0]) { + circle(tread_radius); } } } module wheel_black(radius, width, shaft_radius, shaft_flat_width, wall_width, - tread_radius){ - color("black"){ - difference(){ + tread_radius) { + color("black") { + difference() { rim(radius, wall_width, width); - translate([0, 0, width / 2]){ - tread(radius, tread_radius);}} - linear_extrude(height = qr_height){ - difference(){ + translate([0, 0, width / 2]) { + tread(radius, tread_radius); } } + linear_extrude(height = qr_height) { + difference() { qr_black_flat(); - mounting_screw_flat();}} - translate([0, 0, qr_height]){ + mounting_screw_flat(); } } + translate([0, 0, qr_height]) { motor_shaft_holder(shaft_radius, shaft_flat_width, wall_width, - width - qr_height);}}} + width - qr_height); } } } -module wheel_white(){ - color("white"){ - linear_extrude(height = qr_height){ - difference(){ +module wheel_white() { + color("white") { + linear_extrude(height = qr_height) { + difference() { qr_white_flat(); - mounting_screw_flat();}}}} + mounting_screw_flat(); } } } } module wheel(radius, width, shaft_radius, shaft_flat_width, wall_width, - tread_radius){ + tread_radius) { wheel_black(radius, width, shaft_radius, shaft_flat_width, wall_width, tread_radius); - wheel_white();} + wheel_white(); } module wheel_solid(radius, width, shaft_radius, shaft_flat_width, wall_width, - tread_radius){ - difference(){ + tread_radius) { + difference() { rim(radius, wall_width * 2, width); - translate([0, 0, width / 2]){ - tread(radius, tread_radius);}} - linear_extrude(height = qr_height){ - difference (){ + translate([0, 0, width / 2]) { + tread(radius, tread_radius); } } + linear_extrude(height = qr_height) { + difference() { square(qr_size, center = true); mounting_screw_flat(); } } - translate([0, 0, qr_height]){ + translate([0, 0, qr_height]) { motor_shaft_holder(shaft_radius, shaft_flat_width, wall_width, - width - qr_height);}} + width - qr_height); } } /* wheel(wheel_radius,