--- /dev/null
+mm_per_inch = 25.4;
+
+material_width = (1/8) * mm_per_inch;
+
+board_length = 1.75 * mm_per_inch;
+board_width = 1.5 * mm_per_inch;
+board_depth = (3/16) * mm_per_inch;
+tab_length = 3 * mm_per_inch;
+tab_width = (1/4) * mm_per_inch;
+
+union(){
+ rotate(a = 90, v = [1, 0, 0]) {
+ cube([board_length + material_width,
+ 1.75 * mm_per_inch + material_width,
+ material_width ]);}
+
+ translate(v = [0, -material_width, 0]){
+ rotate(a = -90, v = [0, 1, 0]) {
+ cube( [1.75 * mm_per_inch + material_width,
+ 1.5 * mm_per_inch + 2 * material_width,
+ material_width ]);}}
+
+ translate(v = [(1.75*mm_per_inch + material_width)/2 + tab_width,
+ -tab_length, 0]){
+ rotate(a = 90, v = [0 ,0 ,1 ]){
+ cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}}
+
+ translate(v = [-tab_length,
+ (1.5*mm_per_inch + material_width)/2 - tab_width,
+ 0]){
+ cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}
+
+ translate(v = [(1.75*mm_per_inch + material_width)/2 + tab_width,
+ (1.5*mm_per_inch),
+ 0]){
+ rotate(a = 90, v = [0, 0, 1]){
+ cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}}
+
+ translate(v = [(1.75*mm_per_inch),
+ (1.5*mm_per_inch+material_width)/2 - tab_width,
+ 0]){
+ cube([3*mm_per_inch, 0.5*mm_per_inch , material_width]);}}
+
+_4_40 = 0.1285*mm_per_inch/2; // size of hole for 4x40
+_6_32 = 0.1495*mm_per_inch/2; // size of hole for 6x32
+
+module collar_hole(){
+ cylinder(h = board_depth, r = 2*_6_32, $fn=20);}
+
+module nubbin_hole(){
+ cylinder(h = board_depth, r = _6_32, $fn=20);}
+
+module mounting_screw_hole(){
+ cylinder(h = board_depth, r = _6_32, $fn=20);}
+
+module bracket_screw_hole(){
+ cylinder(h = board_depth, r = _6_32, $fn=20);}
+
+module wheel_motor_holes(scale){
+ translate([ 51-26.78,38-10.8, 0] * scale) {
+ collar_hole();}
+ translate([ 51-26.78,38-22.23, 0] * scale){
+ nubbin_hole();}
+ translate([51-18.05-17.45,38-30.81, 0] * scale){
+ mounting_screw_hole();}
+ translate([51-18.05,38-30.81, 0] * scale){
+ mounting_screw_hole();}
+ translate([7.5,8.5, 0] * scale){
+ bracket_screw_hole();}
+ translate([7.5,21+8.5, 0] * scale){
+ bracket_screw_hole();}}
+
+module wheel_mount(scale){
+ difference(){
+ cube(scale * [board_length + material_width,
+ board_width + material_width,
+ material_width]);
+ wheel_motor_holes(scale);}}
+
+wheel_mount(1);
+
+translate(v = [0, 0, board_length]) jig_lid();
+
+module jig_lid() {
+ union() {
+ wheel_mount(1);
+ translate(v = [0, -2.1 * material_width, material_width]){
+ cube([board_length + material_width,
+ 3.1 * material_width,
+ material_width]);}
+ translate(v = [0, -2.1 * material_width, 0]){
+ cube([board_length + material_width, material_width, material_width]);}
+ translate(v = [-2.1 * material_width, 0, material_width]){
+ cube([3.1 * material_width,
+ board_width + material_width,
+ material_width]);}
+ translate(v = [-2.1 * material_width, 0, 0]){
+ cube([material_width, board_width+material_width, material_width]);}}}