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