use spokes instead of square for wheel
[challenge-bot] / 3d-printables / wheel.scad
index 0a922fd6c302dbfdb1a2ca7fefdbe7c05324a8be..405a382ecacd821908bd915ba9a0b64b943dba8e 100644 (file)
@@ -1,87 +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 <wheel-data.scad>
 
-use <qr.scad>
-
-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;
-
-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);}}
-
-module motor_shaft_holder(radius, flat_width, wall_width, height){
-  linear_extrude(height = height){
-    motor_shaft_holder_flat(radius, flat_width, wall_width);}}
+wheel(wheel_radius,
+      rim_width,
+      motor_shaft_radius,
+      motor_shaft_flat_width,
+      wall_width,
+      tread_radius);
 
-module wheel_black(radius, width, shaft_radius, shaft_flat_width, wall_width){
-  color("black"){
-    rim(radius, wall_width, width);
-    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);}}}
+/*
+  This file is part of challenge-bot.
 
-module wheel_white(){
-  color("white"){
-    linear_extrude(height = qr_height){
-      difference(){
-        qr_white_flat();
-        mounting_screw_flat();}}}}
+  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.
 
-module wheel(radius, width, shaft_radius, shaft_flat_width, wall_width){
-  wheel_black(radius,
-              width,
-              shaft_radius,
-              shaft_flat_width,
-              wall_width);
-  wheel_white();}
+  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.
 
-wheel(wheel_radius,
-      wheel_width,
-      motor_shaft_radius,
-      motor_shaft_flat_width,
-      wall_width);
+  You should have received a copy of the GNU Affero General Public License
+  along with challenge-bot.  If not, see <http://www.gnu.org/licenses/>.
+*/