X-Git-Url: http://challenge-bot.com/repos/?p=challenge-bot;a=blobdiff_plain;f=3d-printables%2Fwheel.scad;h=405a382ecacd821908bd915ba9a0b64b943dba8e;hp=a37008333ae1207805cfa88ead7d60b11277d41e;hb=ebd451f42e6bdd3ac42322886c20b43e157fea86;hpb=180a0f6f6e33818372b49e01931ce8264f838cbc diff --git a/3d-printables/wheel.scad b/3d-printables/wheel.scad index a370083..405a382 100644 --- a/3d-printables/wheel.scad +++ b/3d-printables/wheel.scad @@ -1,126 +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; - -include -use - -module mounting_screw_flat() { - circle(0.9); } - -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); } } - -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); } } } +include -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 * 2, width); - 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]) { - 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 . +*/