| 1 | mm_per_inch = 25.4; |
| 2 | |
| 3 | material_width = (1/8) * mm_per_inch; |
| 4 | |
| 5 | board_length = 1.75 * mm_per_inch; |
| 6 | board_width = 1.5 * mm_per_inch; |
| 7 | board_depth = (3/16) * mm_per_inch; |
| 8 | tab_length = 3 * mm_per_inch; |
| 9 | tab_width = (1/4) * mm_per_inch; |
| 10 | |
| 11 | union(){ |
| 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 | |
| 47 | module collar_hole(){ |
| 48 | cylinder(h = board_depth, r = 2*_6_32, $fn=20);} |
| 49 | |
| 50 | module nubbin_hole(){ |
| 51 | cylinder(h = board_depth, r = _6_32, $fn=20);} |
| 52 | |
| 53 | module mounting_screw_hole(){ |
| 54 | cylinder(h = board_depth, r = _6_32, $fn=20);} |
| 55 | |
| 56 | module bracket_screw_hole(){ |
| 57 | cylinder(h = board_depth, r = _6_32, $fn=20);} |
| 58 | |
| 59 | module 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 | |
| 73 | module 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 | |
| 80 | wheel_mount(1); |
| 81 | |
| 82 | translate(v = [0, 0, board_length]) jig_lid(); |
| 83 | |
| 84 | module 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]);}}} |