rename motor mount to avoid clash on mounting bracket name
[challenge-bot] / motor-mount-drill-jig.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 mm_per_inch = 25.4;
8
9 material_width = (1/8) * mm_per_inch;
10
11 board_length = 1.75 * mm_per_inch;
12 board_width = 1.5 * mm_per_inch;
13 board_depth = (3/16) * mm_per_inch;
14 tab_length = 3 * mm_per_inch;
15 tab_width = (1/4) * mm_per_inch;
16
17 union(){
18 rotate(a = 90, v = [1, 0, 0]) {
19 cube([board_length + material_width,
20 1.75 * mm_per_inch + material_width,
21 material_width ]);}
22
23 translate(v = [0, -material_width, 0]){
24 rotate(a = -90, v = [0, 1, 0]) {
25 cube( [1.75 * mm_per_inch + material_width,
26 1.5 * mm_per_inch + 2 * material_width,
27 material_width ]);}}
28
29 translate(v = [(1.75*mm_per_inch + material_width)/2 + tab_width,
30 -tab_length, 0]){
31 rotate(a = 90, v = [0 ,0 ,1 ]){
32 cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}}
33
34 translate(v = [-tab_length,
35 (1.5*mm_per_inch + material_width)/2 - tab_width,
36 0]){
37 cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}
38
39 translate(v = [(1.75*mm_per_inch + material_width)/2 + tab_width,
40 (1.5*mm_per_inch),
41 0]){
42 rotate(a = 90, v = [0, 0, 1]){
43 cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}}
44
45 translate(v = [(1.75*mm_per_inch),
46 (1.5*mm_per_inch+material_width)/2 - tab_width,
47 0]){
48 cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}}
49
50 _4_40 = 0.1285*mm_per_inch/2; // size of hole for 4x40
51 _6_32 = 0.1495*mm_per_inch/2; // size of hole for 6x32
52
53 module collar_hole(){
54 cylinder(h = board_depth, r = 2*_6_32, $fn=20);}
55
56 module nubbin_hole(){
57 cylinder(h = board_depth, r = _6_32, $fn=20);}
58
59 module mounting_screw_hole(){
60 cylinder(h = board_depth, r = _6_32, $fn=20);}
61
62 module bracket_screw_hole(){
63 cylinder(h = board_depth, r = _6_32, $fn=20);}
64
65 module wheel_motor_holes(scale){
66 translate([ 51-26.78,38-10.8, 0] * scale) {
67 collar_hole();}
68 translate([ 51-26.78,38-22.23, 0] * scale){
69 nubbin_hole();}
70 translate([51-18.05-17.45,38-30.81, 0] * scale){
71 mounting_screw_hole();}
72 translate([51-18.05,38-30.81, 0] * scale){
73 mounting_screw_hole();}
74 translate([7.5,8.5, 0] * scale){
75 bracket_screw_hole();}
76 translate([7.5,21+8.5, 0] * scale){
77 bracket_screw_hole();}}
78
79 module wheel_mount(scale){
80 difference(){
81 cube(scale * [board_length + material_width,
82 board_width + material_width,
83 material_width]);
84 wheel_motor_holes(scale);}}
85
86 wheel_mount(1);
87
88 translate(v = [0, 0, board_length]) jig_lid();
89
90 module jig_lid() {
91 union() {
92 wheel_mount(1);
93 translate(v = [0, -2.1 * material_width, material_width]){
94 cube([board_length + material_width,
95 3.1 * material_width,
96 material_width]);}
97 translate(v = [0, -2.1 * material_width, 0]){
98 cube([board_length + material_width, material_width, material_width]);}
99 translate(v = [-2.1 * material_width, 0, material_width]){
100 cube([3.1 * material_width,
101 board_width + material_width,
102 material_width]);}
103 translate(v = [-2.1 * material_width, 0, 0]){
104 cube([material_width, board_width+material_width, material_width]);}}}