rename motor mount to avoid clash on mounting bracket name
[challenge-bot] / motor-mount-drill-jig.scad
CommitLineData
d2b2f016 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
3258faff 7mm_per_inch = 25.4;
8
9material_width = (1/8) * mm_per_inch;
10
11board_length = 1.75 * mm_per_inch;
12board_width = 1.5 * mm_per_inch;
13board_depth = (3/16) * mm_per_inch;
14tab_length = 3 * mm_per_inch;
15tab_width = (1/4) * mm_per_inch;
16
17union(){
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
53module collar_hole(){
54 cylinder(h = board_depth, r = 2*_6_32, $fn=20);}
55
56module nubbin_hole(){
57 cylinder(h = board_depth, r = _6_32, $fn=20);}
58
59module mounting_screw_hole(){
60 cylinder(h = board_depth, r = _6_32, $fn=20);}
61
62module bracket_screw_hole(){
63 cylinder(h = board_depth, r = _6_32, $fn=20);}
64
65module 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
79module 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
86wheel_mount(1);
87
88translate(v = [0, 0, board_length]) jig_lid();
89
90module 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]);}}}