X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=caster-standoff.scad;h=3e5a085e39f8db4e737acc719e0640d9c0444471;hb=fd364502d701f84d1bd6094a047e78fdaa66fa92;hp=90317c870de051aed993fcbd8a5632419e80f55f;hpb=858028a53eb2ef6f2631721e13684e52d6caeec0;p=challenge-bot diff --git a/caster-standoff.scad b/caster-standoff.scad index 90317c8..3e5a085 100644 --- a/caster-standoff.scad +++ b/caster-standoff.scad @@ -7,28 +7,54 @@ $fn = 100; module ball_screws(){ - between = 14.732; - screw_radius = 2.286/2; - screw_length = 20; + between = 14.732; // 0.580 inches + screw_radius = 2.286/2; // 0.090 inches + 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(){ - height = 2.9464; - width = 20.32; - between = 14.732; +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 + 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); - } + hull(){ + cylinder(h = height, r = between/2); + 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(){ + 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 + ziptie_height = 3; // i'm guessing + standoff_radius = 14.732; // 0.580 inches + translate([-standoff_radius/2, -ziptie_width/2, 0]) + cube([standoff_radius, ziptie_width, ziptie_height]);} module caster_standoff(){ height = 43; caster_radius = 14.732/2; + caster_flange_height = 2.9464 * 2; difference(){ union(){ cylinder(h = height, r = caster_radius); - fixture();} - scale([1, 1, 1.1]) translate([0, 0, -.1]) ball_screws();}} + caster_flange();} + translate([0, 0, -.1]) scale([1, 1, 1.1]) ball_screws(); + 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();}} caster_standoff();