Преглед изворни кода

wip

* fiddling with dimensions (mostly skinnier)
* bracket positions
* misc.
clementinecomputing пре 6 година
родитељ
комит
e16644a1f5

+ 2 - 2
experiment/production/housing/v2/PopufareHousingBack.scad

@@ -57,8 +57,8 @@ module PopufareHousingBackPlate() {
 
     // bottom bracket attachments
     //
-    translate([ (w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
-    translate([-(w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
+    //translate([ (w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
+    //translate([-(w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
 
     // hinge assembly attachment
     //

+ 4 - 3
experiment/production/housing/v2/PopufareHousingCommon.scad

@@ -10,11 +10,11 @@ $fs = 1.0/64.0;
 
 // in mm
 //
-POPUFARE_HOUSING_WIDTH = 200;
+POPUFARE_HOUSING_WIDTH = 190;
 //POPUFARE_HOUSING_DEPTH = 150;
-POPUFARE_HOUSING_DEPTH = 180;
+POPUFARE_HOUSING_DEPTH = 165;
 //POPUFARE_HOUSING_HEIGHT = 150;
-POPUFARE_HOUSING_HEIGHT = 150;
+POPUFARE_HOUSING_HEIGHT = 135;
 
 POPUFARE_GLAND_DIAMETER = 37;
 POPUFARE_SCREEN_WIDTH = 118 + 1;
@@ -34,6 +34,7 @@ POPUFARE_BRACKET_D = 5;
 
 POPUFARE_BRACKET_DS = 100;
 POPUFARE_BRACKET_DE = 40;
+POPUFARE_BRACKET_DE_SHORT = 20;
 
 POPUFARE_INNER_PLATE_WIDTH = 90;
 POPUFARE_INNER_PLATE_HEIGHT = 70;

+ 20 - 17
experiment/production/housing/v2/PopufareHousingFrontAngle.scad

@@ -10,41 +10,44 @@ include <PopufareHousingCommon.scad>
 
 module PopufareHousingFrontAnglePlate() {
   dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
-  
+
   w = POPUFARE_HOUSING_WIDTH;
   h = sqrt(2.0)*dh;
 
   bx = POPUFARE_BRACKET_CX;
   br = POPUFARE_BRACKET_D/2.0;
   de = POPUFARE_BRACKET_DE;
+  des = POPUFARE_BRACKET_DE_SHORT;
 
   lip = _MATERIAL_THICKNESS;
-  
-  
+
+
   screen_w = POPUFARE_SCREEN_WIDTH;
   screen_h = POPUFARE_SCREEN_HEIGHT;
   screen_cx = 0;
   screen_cy = 0;
-  screen_attach_dw = screen_w + 8;
-  screen_attach_dh = screen_h + 8;
-  
+  //screen_attach_dw = screen_w + 8;
+  //screen_attach_dh = screen_h + 8;
+  screen_attach_dw = POPUFARE_INNER_PLATE_HOLE_WIDTH;
+  screen_attach_dh = POPUFARE_INNER_PLATE_HOLE_HEIGHT;
+
   difference() {
     union() {
       square([w,h], center=true);
-      
+
       // lip to cover bottom plate
       //
-      translate([0,-(h/2 + lip/2)]) square([w,lip], center=true);
-      translate([0, (h/2 + lip/2)]) square([w,lip], center=true);
+      translate([0,-(h/2 + lip/2)]) square([w,lip + 0.25], center=true);
+      translate([0, (h/2 + lip/2)]) square([w,lip + 0.25], center=true);
     };
-    
-    // attach to site plate brackets
+
+    // attach to side plate brackets
     //
-    translate([ -(w/2 - bx), -(h/2-de) ]) circle(br);
-    translate([ -(w/2 - bx),  (h/2-de) ]) circle(br);
-    translate([  (w/2 - bx), -(h/2-de) ]) circle(br);
-    translate([  (w/2 - bx),  (h/2-de) ]) circle(br);
-    
+    translate([ -(w/2 - bx), -(h/2-des) ]) circle(br);
+    translate([ -(w/2 - bx),  (h/2-des) ]) circle(br);
+    translate([  (w/2 - bx), -(h/2-des) ]) circle(br);
+    translate([  (w/2 - bx),  (h/2-des) ]) circle(br);
+
     // screen center
     //
     translate([screen_cx, screen_cy]) square([screen_w, screen_h], center=true);
@@ -52,7 +55,7 @@ module PopufareHousingFrontAnglePlate() {
     translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
     translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r);
     translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r);
-    
+
   }
 
 }

+ 10 - 14
experiment/production/housing/v2/PopufareHousingInnerBack.scad

@@ -60,34 +60,31 @@ module PopufareHousingInnerBackPlate() {
   sy2 = hole_height/2;
   difference() {
     rounded_rect(x,y,_r);
-    
+
+    // RPi m2 joining holes
+    //
     translate(rpi_hole_c) translate([ rpi_hole_dx/2, rpi_hole_dy/2]) circle(_M2r);
     translate(rpi_hole_c) translate([ rpi_hole_dx/2,-rpi_hole_dy/2]) circle(_M2r);
     translate(rpi_hole_c) translate([-rpi_hole_dx/2,-rpi_hole_dy/2]) circle(_M2r);
     translate(rpi_hole_c) translate([-rpi_hole_dx/2, rpi_hole_dy/2]) circle(_M2r);
     
-    // access to bottom of rpi
+    // opening access points in case we need them (heat sinks, USB cables, etc.)
     //
     translate(rpi_hole_c) rounded_rect(3*rpi_hole_dx/4, 3*rpi_hole_dy/4, _r);
-
-    // access middle portion, in case we need a heat sink
-    //    
     translate(access_left_c) rounded_rect(access_left_w,access_left_h, _r);
-    
-    // access right portion, ethernet cable and USB cables
-    //
     translate(access_right_c) rounded_rect(access_right_w, access_right_h, _r);
-    
     translate(access_top_c) rounded_rect(access_top_w, access_top_h, _r);
     translate(access_bottom_c) rounded_rect(access_bottom_w, access_bottom_h, _r);
 
+    // screen m2 joining holes
+    //
     translate(screen_hole_c) translate([ screen_hole_dx/2, screen_hole_dy/2]) circle(_M2r);
     translate(screen_hole_c) translate([ screen_hole_dx/2,-screen_hole_dy/2]) circle(_M2r);
     translate(screen_hole_c) translate([-screen_hole_dx/2,-screen_hole_dy/2]) circle(_M2r);
     translate(screen_hole_c) translate([-screen_hole_dx/2, screen_hole_dy/2]) circle(_M2r);
-    
-    translate(rpi_hole_c) rounded_rect(3*rpi_hole_dx/4, 3*rpi_hole_dy/4, _r);
-    
+
+    // Joining for outer angle plate
+    //
     translate([-hole_width/2, -hole_height/2]) circle(_M3r);
     translate([ hole_width/2, -hole_height/2]) circle(_M3r);
     translate([ hole_width/2,  hole_height/2]) circle(_M3r);
@@ -96,5 +93,4 @@ module PopufareHousingInnerBackPlate() {
   }
 }
 
-
-PopufareHousingInnerBackPlate();
+//PopufareHousingInnerBackPlate();

+ 0 - 1
experiment/production/housing/v2/PopufareHousingInnerTop.scad

@@ -37,4 +37,3 @@ module PopufareHousingInnerTopPlate() {
 }
 
 //PopufareHousingInnerTopPlate();
-

+ 6 - 3
experiment/production/housing/v2/PopufareHousingSideLeft.scad

@@ -15,6 +15,7 @@ module PopufareHousingSideLeftPlate() {
   br = POPUFARE_BRACKET_D/2.0;
   bx = POPUFARE_BRACKET_CX;
   de = POPUFARE_BRACKET_DE;
+  des = POPUFARE_BRACKET_DE_SHORT;
   
   dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
   alen = dh*sqrt(2.0);
@@ -41,13 +42,15 @@ module PopufareHousingSideLeftPlate() {
     // front angle bracket
     //
     translate([-w/2, -(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(45, [0,0,1])
-      translate([de, -bx]) circle(br);
+      translate([de/2, -bx]) circle(br);
     translate([-w/2, -(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(45, [0,0,1])
-      translate([alen - de, -bx]) circle(br);
+      translate([alen - de/2, -bx]) circle(br);
       
     // top bracket
     //
-    translate([ (w/2 - (w_right/2.0)), (h/2 - bx) ]) circle(br);
+    //translate([ (w/2 - (w_right/2.0)), (h/2 - bx) ]) circle(br);
+    translate([ (w/2 - des), (h/2 - bx) ]) circle(br);
+    translate([ (w/2 - (w_right) + des), (h/2 - bx) ]) circle(br);
     
     // no back bracket
   }

+ 6 - 5
experiment/production/housing/v2/PopufareHousingSideRight.scad

@@ -15,6 +15,8 @@ module PopufareHousingSideRightPlate() {
   br = POPUFARE_BRACKET_D/2.0;
   bx = POPUFARE_BRACKET_CX;
   de = POPUFARE_BRACKET_DE;
+
+  des = POPUFARE_BRACKET_DE_SHORT;
   
   dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
   alen = dh*sqrt(2.0);
@@ -28,8 +30,6 @@ module PopufareHousingSideRightPlate() {
     translate([ w/2,-(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(-45, [0,0,1])
       translate([-4*w,0]) square([4*w,4*w]);
     
-    
-    
     // bottom bracket
     //
     translate([-(w/2-de), -(h/2-bx) ]) circle(br);
@@ -42,13 +42,14 @@ module PopufareHousingSideRightPlate() {
     // front angle bracket
     //
     translate([ w/2, -(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(-45, [0,0,1])
-      translate([-de, -bx]) circle(br);
+      translate([-de/2, -bx]) circle(br);
     translate([ w/2, -(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(-45, [0,0,1])
-      translate([-(alen - de), -bx]) circle(br);
+      translate([-(alen - de/2), -bx]) circle(br);
       
     // top bracket
     //
-    translate([ -(w/2 - (w_right/2.0)), (h/2 - bx) ]) circle(br);
+    translate([ -(w/2  - des), (h/2 - bx) ]) circle(br);
+    translate([ -w/2 + w_right - des, (h/2 - bx) ]) circle(br);
     
     // no back bracket
     //f

+ 9 - 5
experiment/production/housing/v2/PopufareHousingTop.scad

@@ -16,6 +16,7 @@ module PopufareHousingTopPlate() {
   bx = POPUFARE_BRACKET_CX;
   br = POPUFARE_BRACKET_D/2.0;
   de = POPUFARE_BRACKET_DE;
+  des = POPUFARE_BRACKET_DE_SHORT;
 
   lip = _MATERIAL_THICKNESS;
 
@@ -27,17 +28,20 @@ module PopufareHousingTopPlate() {
     
     // shave off top front panel to accomodate angle plate
     //
-    translate([0, -(h/2 - lip)]) square([w, lip], center=true);
+    translate([0, -(h/2 - lip)]) square([w, lip+0.25], center=true);
     
     // attach to back plate bracket
     //
-    translate([ -(w/2 - de), (h/2-bx) ]) circle(br);
-    translate([  (w/2 - de), (h/2-bx) ]) circle(br);
+    //translate([ -(w/2 - de), (h/2-bx) ]) circle(br);
+    //translate([  (w/2 - de), (h/2-bx) ]) circle(br);
     
     // side plate bracket attachment
     //
-    translate([ -(w/2 - bx), 0]) circle(br);
-    translate([  (w/2 - bx), 0]) circle(br);
+    translate([ -(w/2 - bx), (h/2-des)]) circle(br);
+    translate([ -(w/2 - bx),-(h/2-des)]) circle(br);
+    translate([  (w/2 - bx), (h/2-des)]) circle(br);
+    translate([  (w/2 - bx),-(h/2-des)]) circle(br);
+
   }
 
 }

+ 7 - 2
experiment/production/housing/v2/housing_layout.scad

@@ -17,6 +17,9 @@ dw = POPUFARE_HOUSING_WIDTH;
 dh = POPUFARE_HOUSING_HEIGHT;
 dz = POPUFARE_HOUSING_DEPTH;;
 
+iw = POPUFARE_INNER_PLATE_HOLE_WIDTH;
+ih = POPUFARE_INNER_PLATE_HOLE_HEIGHT;
+
 hh = POPUFARE_FRONT_HEIGHT;
 hz = dz-hh;
 
@@ -34,6 +37,8 @@ translate( [ 0, dz + hz + 2*spacing] ) PopufareHousingTopPlate();
 
 //---
 
-translate([  (dw+spacing), dz ]) PopufareHousingInnerBackPlate();
-translate([  150+(dw+spacing), dz]) PopufareHousingInnerTopPlate();
+translate([  (dw/2 + iw/2+2*spacing),  -(dz + hh + 2*spacing )]) PopufareHousingInnerBackPlate();
+//translate([  (dw/2 + 3*iw/2 + 4*spacing), -(dz + hh + 2*spacing)]) PopufareHousingInnerTopPlate();
+
+translate([  (0), -(dz + hh + + 3*ih/2+ 2*spacing )]) PopufareHousingInnerTopPlate();