more closely match dobervich's actual piece
[challenge-bot] / 3d-printables / motor-mount.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 = 60;
8
9 // from schematic http://goo.gl/96RKol
10 collar_radius = 9.2 / 2;
11 // subtract a bit to make snap fit
12 nubbin_radius = (4.48 - 0.3) / 2; // make snap fit
13 screw_radius = 2.9 / 2 + 0.1; // a little bigger so screws fit through
14
15 motor_height = 22.23;
16
17 // http://freespace.virgin.net/matt.waite/resource/handy/screwsize.htm
18 _6_radius = 3.5 / 2;
19
20 // measurements we made up:
21 mount_total_x = 38;
22 mount_total_y = mount_total_x;
23 mount_total_z = 3.175; // 3/16 in mm
24
25 module motor_holes(){
26 collar_x_offset = 10.8;
27 nubbin_x_offset = 22.23;
28 // actual motor screw holes are 0.2 further than spec says
29 screw_x_offset = 30.81 + 0.2;
30 screw_y_offset = 17.44 / 2;
31
32 translate([collar_x_offset, 0, 0]){
33 cylinder(r = collar_radius, h = mount_total_z + 0.1);}
34 translate([nubbin_x_offset, 0, 0]){
35 cylinder(r = nubbin_radius, h = mount_total_z + 0.1);}
36 translate([screw_x_offset, 0, 0]){
37 translate([0, screw_y_offset, 0]){
38 cylinder(r = screw_radius, h = mount_total_z + 0.1);}
39 translate([0, -screw_y_offset, 0]){
40 cylinder(r = screw_radius, h = mount_total_z + 0.1);}}}
41
42 module bracket_holes(){
43 translate([6.2, 0, 0])
44 cylinder(r = _6_radius, h = mount_total_z + 0.1);
45 translate([mount_total_x - 6.2, 0, 0])
46 cylinder(r = _6_radius, h = mount_total_z + 0.1);}
47
48 module motor_mount(){
49 difference(){
50 cube([mount_total_x, mount_total_y, mount_total_z]);
51 translate([0, 6.2, -0.05]){
52 bracket_holes();}
53 translate([1, mount_total_y - motor_height / 2 - 3, -0.05]){
54 motor_holes();}}}
55
56 motor_mount();