module ball_screws(){
between = 14.732; // 0.580 inches
screw_radius = 2.286/2; // 0.090 inches
- screw_length = 15; // i made this up
+ screw_length = 8; // i eyeballed this
translate([between/2, 0, 0]) cylinder(h = screw_length, r = screw_radius);
translate([-between/2, 0, 0]) cylinder(h = screw_length, r = screw_radius);}
-module fixture(){
+module caster_flange(){
// i eyeballed this too, it's (0.580/5) inches, times 2 to be stronger
height = 2.9464 * 2;
width = 20.32; // 0.800 inches
translate([between/2, 0, 0]) cylinder(h = height, r = side_radius);
translate([-between/2, 0, 0]) cylinder(h = height, r = side_radius);}}
+module hexagon(size, height){
+ boxWidth = size/1.75;
+ for (r = [-60, 0, 60]) rotate([0,0,r]) cube([boxWidth, size, height], true);}
+
module nuts(){
- // i eyeballed this too, it's (0.580/5) inches, times 2 to be stronger
- height = 2.9464;
- width = 20.32; // 0.800 inches
- between = 14.732; //0.580 inches
- side_radius = (width - between)/2;
- translate([between/2, 0, 0]) cylinder(h = height, r = side_radius);
- translate([-between/2, 0, 0]) cylinder(h = height, r = side_radius);}
+ height = 1.6; // from calipers
+ overall_width = 20.32; // 0.800 inches
+ between = 14.732; // 0.580 inches
+ short_side_nut = 4.7; // from calipers
+ translate([between/2, 0, height/2]) hexagon(4.7, height);
+ translate([-between/2, 0, height/2]) hexagon(4.7, height);}
module ziptie(){
ziptie_width = 4.7625; // 3/16 inch
module caster_standoff(){
height = 43;
caster_radius = 14.732/2;
- fixture_height = 2.9464 * 2;
+ caster_flange_height = 2.9464 * 2;
difference(){
union(){
cylinder(h = height, r = caster_radius);
- fixture();}
+ caster_flange();}
translate([0, 0, -.1]) scale([1, 1, 1.1]) ball_screws();
- translate([0, 0, fixture_height]) nuts();
+ translate([0, 0, caster_flange_height]) nuts();
translate([0, 0, height * 3 / 4]) scale([1.1, 1, 1]) ziptie();
rotate([0, 0, 90]) translate([0, 0, height * 1 / 2]) scale([1.1, 1, 1])
ziptie();}}