X-Git-Url: http://challenge-bot.com/repos/?p=challenge-bot;a=blobdiff_plain;f=3d-printables%2Fwheel.scad;h=405a382ecacd821908bd915ba9a0b64b943dba8e;hp=bfe5640df7fd7a620666975675a7f3706e1db184;hb=ebd451f42e6bdd3ac42322886c20b43e157fea86;hpb=f1ef18de30925e6aed2899fc8e1e78194d00d736 diff --git a/3d-printables/wheel.scad b/3d-printables/wheel.scad index bfe5640..405a382 100644 --- a/3d-printables/wheel.scad +++ b/3d-printables/wheel.scad @@ -1,138 +1,37 @@ +/* + Copyright (C) 2015 Daniel Watson + See the end of the file for license conditions. +*/ // challenge-bot // GNU AGPLv3 (or later at your option) -// project available at these locations: -// https://gitorious.org/ozzloy/challenge-bot -// https://github.com/waynegramlich/challenge-bot +// project available here: +// https://challenge-bot.com/ // use $fn = 20 while developing, 100 when about to print // 20 will make previews fast // 100 will make printing smooth -$fn = 100; - -use - -qr_size = 54; -qr_height = 2; - -wall_width = 3; - -wheel_width = 6; -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 = 2.5 / 2; - -module mounting_screw_flat(){ - square(2, center = true);} - -module motor_shaft_flat(radius, flat_width){ - intersection(){ - circle(radius); - 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);}} - -module rim(radius, wall_width, wheel_width){ - linear_extrude(height = wheel_width){ - difference(){ - circle(radius); - circle(radius - wall_width);}}} - -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);}} +include -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 wheel_black(radius, - width, - shaft_radius, - shaft_flat_width, - wall_width, - 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(){ - qr_black_flat(); - mounting_screw_flat();}} - translate([0, 0, qr_height]){ - motor_shaft_holder(shaft_radius, - shaft_flat_width, - wall_width, - width - qr_height);}}} - -module wheel_white(){ - color("white"){ - linear_extrude(height = qr_height){ - difference(){ - qr_white_flat(); - mounting_screw_flat();}}}} - -module wheel(radius, - width, - shaft_radius, - shaft_flat_width, - wall_width, - tread_radius){ - wheel_black(radius, - width, - shaft_radius, - shaft_flat_width, - wall_width, - tread_radius); - wheel_white();} - -module wheel_solid(radius, - width, - shaft_radius, - shaft_flat_width, - wall_width, - tread_radius){ - difference(){ - rim(radius, wall_width, width); - translate([0, 0, width / 2]){ - tread(radius, tread_radius);}} - linear_extrude(height = qr_height){ - difference (){ - square(qr_size, center = true); - square(1.5, center = true);}} - translate([0, 0, qr_height]){ - motor_shaft_holder(shaft_radius, - shaft_flat_width, - wall_width, - width - qr_height);}} - -/* wheel(wheel_radius, - wheel_width, + rim_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); +/* + This file is part of challenge-bot. + + Challenge-bot is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + GNU Affero Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with challenge-bot. If not, see . +*/