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