separate data into *-data.scad for 3d models
[challenge-bot] / 3d-printables / wheel.scad
index a37008333ae1207805cfa88ead7d60b11277d41e..eee5dd1dd3ec2e892efe04a5b3906eee85bd2b45 100644 (file)
@@ -9,105 +9,7 @@
 //  100 will make printing smooth
 $fn = 100;
 
-include <wheel-dimensions.scad>
-use <qr.scad>
-
-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); } } }
-
-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); } }
+include <wheel-data.scad>
 
 /*
 wheel(wheel_radius,