瀏覽代碼

fixing screw length for display and angle for magstripe reader

clementinecomputing 5 年之前
父節點
當前提交
e1267e75cb
共有 1 個文件被更改,包括 137 次插入15 次删除
  1. 137 15
      experiment/legacy/PIU-interim/PIU-box-interim.scad

+ 137 - 15
experiment/legacy/PIU-interim/PIU-box-interim.scad

@@ -18,12 +18,13 @@ MAG_READER_screw_dw = 93.75;
 MAG_READER_screw_diam = 3;
 
 MAG_ACCESS_total_width = 25;
-MAG_ACCESS_small_width = 10;
+//MAG_ACCESS_small_width = 10;
+MAG_ACCESS_small_width = 7;
 MAG_ACCESS_total_height = 95;
-MAG_ACCESS_section = [17,16,29,16,17];
+MAG_ACCESS_section = [17,24,18,24,17];
 
 SCREEN_screw_diam = 3;
-SCREEN_dw = 186;
+SCREEN_dw = 177;
 SCREEN_dh = 54;
 
 SCREEN_WINDOW_h = 46;
@@ -34,11 +35,110 @@ BOARD_screw_dw = 76.25;
 BOARD_screw_dh = 101.5;
 
 
-PIU_width = 200;
+PIU_width = 190;
 PIU_height = 160;
 PIU_side = 50;
 
+_base_platform_width = 2*PIU_width/3;
+_base_platform_height = 2*PIU_height/5;
+
+module PIU_board_plate_simple() {
+  _cr = 5;
+  _cdx = BOARD_screw_dh + 10;
+  _cdy = BOARD_screw_dw + 10;
+  difference() {
+    hull() {
+      translate([-_cdx/2, -_cdy/2]) circle(_cr);
+      translate([ _cdx/2, -_cdy/2]) circle(_cr);
+      translate([ _cdx/2,  _cdy/2]) circle(_cr);
+      translate([-_cdx/2,  _cdy/2]) circle(_cr);
+    }
+    translate([-BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+    translate([ BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+    translate([ BOARD_screw_dh/2,  BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+    translate([-BOARD_screw_dh/2,  BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+  }
+}
+
+module PIU_board_plate() {
+  _cr = 2;
+  _cdx = BOARD_screw_dh + 10;
+  _cdy = BOARD_screw_dw + 10;
+  _w = 14;
+
+  px = _base_platform_width;
+  py = _base_platform_height;
+
+  difference() {
+    union() {
+      hull() {
+
+        translate([-px/2 -_w, -_cdy/2]) circle(_cr);
+        translate([ px/2 +_w, -_cdy/2]) circle(_cr);
+        translate([ px/2 +_w,  _cdy/2]) circle(_cr);
+        translate([-px/2 -_w,  _cdy/2]) circle(_cr);
+      }
+    }
+
+    hull() {
+      translate([-_cdx/2 + _w, -_cdy/2 + _w]) circle(_cr);
+      translate([ _cdx/2 - _w, -_cdy/2 + _w]) circle(_cr);
+      translate([ _cdx/2 - _w,  _cdy/2 - _w]) circle(_cr);
+      translate([-_cdx/2 + _w,  _cdy/2 - _w]) circle(_cr);
+    }
+    translate([-BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+    translate([ BOARD_screw_dh/2, -BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+    translate([ BOARD_screw_dh/2,  BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+    translate([-BOARD_screw_dh/2,  BOARD_screw_dw/2]) circle(BOARD_screw_diam/2);
+
+    translate([-px/2, py/2]) circle(M3_H3_DRILL_R);
+    translate([-px/2,-py/2]) circle(M3_H3_DRILL_R);
+    translate([-px/2, 0]) circle(M3_H3_DRILL_R);
+
+
+    translate([ px/2, py/2]) circle(M3_H3_DRILL_R);
+    translate([ px/2,-py/2]) circle(M3_H3_DRILL_R);
+    translate([ px/2, 0]) circle(M3_H3_DRILL_R);
+
+  }
+}
+
+module PIU_board_support_base() {
+  _cr = 8;
+  //px = 2*PIU_width/3;
+  //py = 2*PIU_height/5;
+  px = _base_platform_width;
+  py = _base_platform_height;
+  difference() {
+    union() {
+      hull() {
+        translate([-px/2,  py/2]) circle(_cr);
+        translate([-px/2, -py/2]) circle(_cr);
+      }
+
+      hull() {
+        translate([ px/2, py/2]) circle(_cr);
+        translate([ px/2,-py/2]) circle(_cr);
+      }
+
+      hull() {
+        translate([ -px/2, 0]) circle(_cr);
+        translate([  px/2, 0]) circle(_cr);
+      }
+    }
+
+    translate([-px/2, 0]) circle(M3_H3_DRILL_R);
+    translate([-px/2, py/2]) circle(M3_H3_DRILL_R);
+    translate([-px/2,-py/2]) circle(M3_H3_DRILL_R);
+
+    translate([ px/2, 0]) circle(M3_H3_DRILL_R);
+    translate([ px/2, py/2]) circle(M3_H3_DRILL_R);
+    translate([ px/2,-py/2]) circle(M3_H3_DRILL_R);
+  }
+}
+
 module PIU_face() {
+ang = 10;
   difference() {
 
     // central face
@@ -58,6 +158,7 @@ module PIU_face() {
 
     // mag
     //
+    //translate([-40, -5])
     translate([0, -5])
     union() {
       square([MAG_ACCESS_total_height, MAG_ACCESS_small_width], center=true);
@@ -65,19 +166,20 @@ module PIU_face() {
         square([MAG_ACCESS_section[1], MAG_ACCESS_total_width], center=true);
       translate([ MAG_ACCESS_section[3]/2 + MAG_ACCESS_section[2]/2, 0])
         square([MAG_ACCESS_section[3], MAG_ACCESS_total_width], center=true);
-      rotate( 15, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
-      rotate( 15, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
-      rotate(-15, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
-      rotate(-15, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
-
-      rotate( 15, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
-      rotate( 15, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
-      rotate(-15, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
-      rotate(-15, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
+      rotate( ang, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
+      rotate( ang, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
+      rotate(-ang, [0,0,1]) translate([-MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
+      rotate(-ang, [0,0,1]) translate([ MAG_PCB_screw_dw/2, 0]) circle(MAG_PCB_screw_diam/2);
+
+      rotate( ang, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
+      rotate( ang, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
+      rotate(-ang, [0,0,1]) translate([-MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
+      rotate(-ang, [0,0,1]) translate([ MAG_READER_screw_dw/2, 0]) circle(MAG_READER_screw_diam/2);
     }
 
     // RFID
     //
+    //translate([-30,-55])
     translate([0,-55])
     union() {
       translate([-RFID_screw_dw/2,0]) circle(RFID_screw_diam/2);
@@ -130,10 +232,30 @@ module PIU_back_bracket() {
     translate([  _dx, -_dy]) circle(_drill_r);
     translate([  _dx,  _dy]) circle(_drill_r);
     translate([ -_dx,  _dy]) circle(_drill_r);
+
+    translate([ -_dx,  0]) circle(_drill_r);
+    translate([  _dx,  0]) circle(_drill_r);
+    translate([  0,  _dy]) circle(_drill_r);
+    translate([  0, -_dy]) circle(_drill_r);
   }
 }
 
-PIU();
-translate([0,240]) PIU_back_bracket();
 
+module all() {
+  PIU();
+  translate([0,240]) PIU_back_bracket();
+  translate([0,240]) PIU_board_support_base();
+
+  translate([0,-180]) PIU_board_plate();
+  //translate([0,-300]) PIU_board_support_base();
+
+  /*
+  translate([220,-35]) rotate(0, [0,0,1]) PIU_board_plate();
+  translate([-230,-35]) rotate(0, [0,0,1]) PIU_board_support_base();
+  */
+}
+
+
+//all();
+PIU();