break caster-standoff into 2 pieces for printing
[challenge-bot] / caster-standoff.scad
index 973aa00b32980c2b88811c48df19b54333551d7c..21e9fca2d0c66c52f3730fe279a372ee516234df 100644 (file)
@@ -11,15 +11,15 @@ nut_short_side = 4.7; // from calipers
 nut_height = 1.6; // from calipers
 
 // eyeballed caster flange height, (0.580/5) inches, times 2 to be stronger
-caster_flange_height = 2.9464 * 2;
+caster_flange_height = 2.9464;
 caster_flange_width = 20.32;  // 0.800 inches
 caster_flange_screw_radius = 2.286 / 2;  // 0.090 inches
 caster_flange_screw_length = 8; // eyeballed
 
-deck_grid_width = 17.4; // guessing
-deck_flange_height = 2.9464 * 2;
+deck_grid_width = 25.4; // measured center to center on grid on pegboard
+deck_flange_height = 2.9464;
 deck_flange_screw_radius = 3.556 / 2;  // For #6 machine screws
-deck_flange_radius = deck_grid_width * 1.5;
+deck_flange_radius = deck_grid_width * 1.22;
 
 module deck_flange(){
   difference(){
@@ -37,10 +37,10 @@ module deck_flange(){
 
 module deck_flange_reinforcement(){
   translate([-deck_flange_radius,
-             -.5 * deck_flange_height,
+             -.5 * deck_flange_height / 2,
              deck_flange_height]){
     difference (){
-      cube([deck_flange_radius, deck_flange_height, deck_flange_radius]);
+      cube([deck_flange_radius, deck_flange_height / 2, deck_flange_radius]);
       translate([-.1, -.05 * deck_flange_height, 0]){
         rotate([0, -45, 0]){
           cube([deck_flange_radius * 1.5, // 1.5 is bigger than sqrt(2)
@@ -92,4 +92,23 @@ module caster_standoff(){
     rotate([0, 0, 45 + 90 * ii])
       deck_flange_reinforcement();}}
 
-caster_standoff();
+module caster_top_half(){
+  difference(){
+    caster_standoff();
+    cylinder(r1 = deck_flange_radius * 4 / 3,
+             r2 = 0,
+             h = standoff_height * 3 / 4);}}
+
+module caster_bottom_half (){
+  intersection (){
+    caster_standoff();
+    cylinder(r1 = deck_flange_radius * 4 / 3,
+             r2 = 0,
+             h = standoff_height * 3 / 4);}}
+
+translate([0, deck_flange_radius + standoff_radius + 1, standoff_height]){
+  rotate([0, 180, 0]){
+    caster_top_half();}}
+difference(){
+  caster_bottom_half();
+  translate([0, 0, standoff_height * 3 / 4 - 1]) cylinder(r = 2, h = 2);}