set '$fn' globally based on develop or print for wheel
[challenge-bot] / wheel.scad
index a3bb53aac8d6b9923d3f5a96bbebd73324679043..87ec2865c38c456da267159bce0b19b41291c92d 100644 (file)
@@ -4,31 +4,36 @@
 // https://gitorious.org/ozzloy/challenge-bot
 // https://github.com/waynegramlich/challenge-bot
 
+// use $fn = 20 while developing, 100 when about to print
+//  20 will make previews fast
+//  100 will make printing smooth
+$fn = 20;
+
 wheel_depth = 6;
 wheel_radius = 68/2;
 
 module encoder_shaft(){
-  motor_shaft_big = 3.7;
-  motor_shaft_small = 4.8;
-  motor_shaft_length = wheel_depth / 2;
+  // measured with calipers, checked against the motor shaft
+  motor_shaft_big = 3.7; // radius, gets doubled in cylinder
+  motor_shaft_small = 4.8; // total length of box
+  motor_shaft_length = wheel_depth * 3 / 4;
 
   intersection(){
-    cylinder(h = motor_shaft_length,
-             r = motor_shaft_big,
-             center = true,
-             $fn=30);
+    cylinder(h = motor_shaft_length, r = motor_shaft_big, center = true);
+    // x direction is multiplied by 2 because the radius of the cylinder
+    // goes in both directions.  the extra .1 is for overlap
     cube([motor_shaft_big * 2.1, motor_shaft_small, motor_shaft_length],
          center = true);}}
 
 module mounting_screw(){
-  cylinder(h = wheel_depth * 1.1, r = 1, $fn = 30, center = true);}
+  cylinder(h = wheel_depth * 1.1, r = 1, center = true);}
 
 module wheel(){
   translate([0, 0, wheel_depth / 2]){
     difference(){
-      cylinder(h = wheel_depth, r = wheel_radius, center = true, $fn = 30);
+      cylinder(h = wheel_depth, r = wheel_radius, center = true);
       translate([0, 0, wheel_depth / 4]){
-        scale([1, 1, 2]){
+        scale([1, 1, 1.1]){
           encoder_shaft();}}
       mounting_screw();
       for(i = [1 : 5]){
@@ -63,6 +68,6 @@ module pie_slice(){
 module between_spokes(){
   minkowski(){
     pie_slice();
-    cylinder(h = wheel_depth / 2, r = 1, $fn = 30);}}
+    cylinder(h = wheel_depth / 2, r = 1);}}
 
 wheel();