make caster reinforcement stronger
[challenge-bot] / 3d-printables / caster-standoff-data.scad
index 77071fa18506670c6b3ffbc8ee5e61af0b060fbd..9f5a868bfe86010e587251e39db1d8fb16653d1b 100644 (file)
@@ -13,17 +13,23 @@ use <oshw.scad>
 $fn = 100;
 
 /* measured with calipers */
-ball_diameter = 11 + 0.9; // extra bit added for printing imprecision
+ball_diameter = 11 + 0.85; // extra bit added for printing imprecision
 ball_radius = ball_diameter / 2;
 
 standoff_height = 60; // kyle eyeballed
 
+/*
+  notes on printing:
+  * slow down just before top solid infill of deck flange
+  * slow down just before switching from solid to forked portion of standoff
+ */
+
 gap = 3;
 wall_thickness = 1;
 holder_floor = 3;
 holder_arms_length = 20;
 holder_height =
-  holder_floor + holder_arms_length + (11 / 16) * ball_diameter;
+  holder_floor + holder_arms_length + (3 / 4) * ball_diameter;
 
 holder_radius = ball_radius + wall_thickness;
 holder_diameter = holder_radius * 2;
@@ -36,12 +42,12 @@ caster_flange_height = 5;
 caster_flange_width = 20.32;  // 0.800 inches
 
 deck_pitch = 25.4; // measured center to center on grid on pegboard
+deck_pitch_diagonal = sqrt(2 * pow(deck_pitch, 2));
 deck_flange_height = 2.9464;
 deck_flange_screw_radius = 3.556 / 2 + 0.4;  // For #6 machine screws
 deck_flange_radius = (deck_pitch) / 2 + deck_flange_screw_radius + 3;
 
 module deck_flange() {
-  deck_pitch_diagonal = sqrt(2 * pow(deck_pitch, 2));
   cylinder(h = deck_flange_height, r = holder_radius + 2);
   difference() {
     scale([0.40, 0.40, 1]) {
@@ -56,16 +62,14 @@ module deck_flange() {
              r = deck_flange_screw_radius); } }
 
 module deck_flange_reinforcement() {
-  translate([-deck_flange_radius,
-             -.5 * deck_flange_height / 2,
-             deck_flange_height]) {
-    difference() {
-      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)
-                deck_flange_height * 1.1, // 1.1 is bigger than 1
-                deck_flange_radius]); } } } } }
+  translate([0, 0, deck_flange_height]) {
+    rotate([90, 0, 0]) {
+      translate([holder_radius - 0.5, 0, -deck_flange_height / 2]) {
+        linear_extrude(height = deck_flange_height) {
+          polygon([[0, 0],
+                   [0, standoff_lower_portion_height],
+                   [(deck_pitch_diagonal / 2 - holder_radius),
+                    0]]); } } } } }
 
 module ball_holder() {
   difference() {