add ziptie holes, hull mount fixture
[challenge-bot] / caster-standoff.scad
1 // challenge-bot
2 // GNU AGPLv3 (or later at your option)
3 // project available at these locations:
4 // https://gitorious.org/ozzloy/challenge-bot
5 // https://github.com/waynegramlich/challenge-bot
6
7 $fn = 100;
8
9 module ball_screws(){
10 between = 14.732; // 0.580 inches
11 screw_radius = 2.286/2; // 0.090 inches
12 screw_length = 15; // i made this up
13 translate([between/2, 0, 0]) cylinder(h = screw_length, r = screw_radius);
14 translate([-between/2, 0, 0]) cylinder(h = screw_length, r = screw_radius);}
15
16 module fixture(){
17 // i eyeballed this too, it's (0.580/5) inches, times 2 to be stronger
18 height = 2.9464 * 2;
19 width = 20.32; // 0.800 inches
20 between = 14.732; //0.580 inches
21 side_radius = (width - between)/2;
22 hull(){
23 cylinder(h = height, r = between/2);
24 translate([between/2, 0, 0]) cylinder(h = height, r = side_radius);
25 translate([-between/2, 0, 0]) cylinder(h = height, r = side_radius);}}
26
27 module nuts(){
28 // i eyeballed this too, it's (0.580/5) inches, times 2 to be stronger
29 height = 2.9464;
30 width = 20.32; // 0.800 inches
31 between = 14.732; //0.580 inches
32 side_radius = (width - between)/2;
33 translate([between/2, 0, 0]) cylinder(h = height, r = side_radius);
34 translate([-between/2, 0, 0]) cylinder(h = height, r = side_radius);}
35
36 module ziptie(){
37 ziptie_width = 4.7625; // 3/16 inch
38 ziptie_height = 3; // i'm guessing
39 standoff_radius = 14.732; // 0.580 inches
40 translate([-standoff_radius/2, -ziptie_width/2, 0])
41 cube([standoff_radius, ziptie_width, ziptie_height]);}
42
43 module caster_standoff(){
44 height = 43;
45 caster_radius = 14.732/2;
46 fixture_height = 2.9464 * 2;
47 difference(){
48 union(){
49 cylinder(h = height, r = caster_radius);
50 fixture();}
51 translate([0, 0, -.1]) scale([1, 1, 1.1]) ball_screws();
52 translate([0, 0, fixture_height]) nuts();
53 translate([0, 0, height * 3 / 4]) scale([1.1, 1, 1]) ziptie();
54 rotate([0, 0, 90]) translate([0, 0, height * 1 / 2]) scale([1.1, 1, 1])
55 ziptie();}}
56
57 caster_standoff();