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

Merge branch 'master' of https://tree.clementinecomputing.com/clementinecomputing/popufare

clementinecomputing пре 5 година
родитељ
комит
85c17cb3fc

+ 1 - 1
experiment/production/adapter-box/PopufareHousingCommon.scad

@@ -228,7 +228,7 @@ _POWER_CONNECTOR_DEPTH = 14.5;
 _POWER_USB_HOLE_DW = 9.11 + (15.11-9.11)/2;
 _POWER_USB_HOLE_R = 3/2;
 
-_PIU_BUCK_DW = (61.5+58.75)/2;
+_PIU_BUCK_DW = (61.5+48.75)/2;
 _PIU_BUCK_R = 6.75/2;
 
 _PIU_USB_HOLE_DW = 9.25 + (12.5-9.25)/2;

+ 2 - 2
experiment/production/adapter-box/PopufarePowerAdapterBottom.scad

@@ -25,8 +25,8 @@ module PopufarePowerAdapterBottomPlate() {
 
     // PIU buck converter screw holes
     //
-    translate([buck_cx-buck_dw/2, buck_cy]) circle(2*buck_r);
-    translate([buck_cx+buck_dw/2, buck_cy]) circle(2*buck_r);
+    //translate([buck_cx-buck_dw/2, buck_cy]) circle(2*buck_r);
+    //translate([buck_cx+buck_dw/2, buck_cy]) circle(2*buck_r);
 
     // housing holes
     //

+ 2 - 2
experiment/production/adapter-box/PopufarePowerAdapterMiddle.scad

@@ -25,8 +25,8 @@ module PopufarePowerAdapterMiddlePlate() {
 
     // PIU buck converter screw holes
     //
-    translate([buck_cx-buck_dw/2, buck_cy]) circle(2*buck_r);
-    translate([buck_cx+buck_dw/2, buck_cy]) circle(2*buck_r);
+    //translate([buck_cx-buck_dw/2, buck_cy]) circle(2*buck_r);
+    //translate([buck_cx+buck_dw/2, buck_cy]) circle(2*buck_r);
 
     // housing holes
     //

+ 2 - 2
experiment/production/adapter-box/PopufarePowerAdapterMiddleSupport.scad

@@ -30,8 +30,8 @@ module PopufarePowerAdapterMiddleSupportPlate() {
   
     // PIU buck converter screw holes
     //
-    translate([buck_cx-buck_dw/2, buck_cy]) circle(2*buck_r);
-    translate([buck_cx+buck_dw/2, buck_cy]) circle(2*buck_r);
+    //translate([buck_cx-buck_dw/2, buck_cy]) circle(2*buck_r);
+    //translate([buck_cx+buck_dw/2, buck_cy]) circle(2*buck_r);
 
     // housing holes
     //

+ 8 - 4
experiment/production/adapter-box/PopufarePowerAdapterTop.scad

@@ -20,13 +20,17 @@ module PopufarePowerAdapterTopPlate() {
 
   buck_dw = _PIU_BUCK_DW;
   buck_r = _PIU_BUCK_R;
-  buck_cx = 0;
+  buck_cx = _w/2 + 2*buck_r;
   buck_cy = -_h/12;
 
   difference() {
     union() {
       rounded_rect(_w, _h, _r);
-      translate([buck_cx,buck_cy]) rounded_rect(buck_dw + 5*buck_r, 5*buck_r, 2*buck_r);
+
+      translate([buck_cx-3*buck_r,buck_cy]) square([6*buck_r, buck_dw+5*buck_r], center=true);
+      translate([buck_cx,buck_cy])
+         rounded_rect(5*buck_r, buck_dw + 5*buck_r, 2*buck_r);
+         //rounded_rect(buck_dw + 5*buck_r, 5*buck_r, 2*buck_r);
     }
 
     // power connector access
@@ -35,8 +39,8 @@ module PopufarePowerAdapterTopPlate() {
 
     // buck converter screw holes
     //
-    translate([buck_cx-buck_dw/2, buck_cy]) circle(buck_r);
-    translate([buck_cx+buck_dw/2, buck_cy]) circle(buck_r);
+    translate([buck_cx, buck_cy - buck_dw/2 ]) circle(buck_r);
+    translate([buck_cx, buck_cy + buck_dw/2 ]) circle(buck_r);
 
     // housing holes
     //

+ 1 - 1
experiment/production/adapter-box/export/export-all

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-VERSION=0.1.1
+VERSION=0.1.2
 
 function ngc_position {
   ifn="$1"

+ 1 - 1
experiment/production/housing/v-acorn-squash/PopufareHousingFrontAngle.scad

@@ -217,4 +217,4 @@ module PopufareHousingFrontAnglePlate() {
   PopufareHousingFrontAnglePlate_capacitive_waveshare();
 }
 
-PopufareHousingFrontAnglePlate();
+//PopufareHousingFrontAnglePlate();

+ 19 - 2
experiment/production/housing/v-acorn-squash/PopufareHousingFrontInsideSupport.scad

@@ -8,7 +8,7 @@
 
 include <PopufareHousingCommon.scad>
 
-module PopufareHousingFrontInsideSupportPlate() {
+module PopufareHousingFrontInsideSupport1Plate() {
 
   w = POPUFARE_HOUSING_WIDTH;
   h = POPUFARE_FRONT_HEIGHT;
@@ -66,8 +66,25 @@ module PopufareHousingFrontInsideSupportPlate() {
     translate([ -(w/2 - 8*mt), -(h/2 - bx)]) circle(br);
     translate([  (w/2 - 8*mt), -(h/2 - bx)]) circle(br);
 
+    hull() {
+      translate([ -(w/2 - 12*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([ -(w/2 - 12*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([  (w/2 - 12*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([  (w/2 - 12*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    // top clearance
+    //
+    translate([0, h/2]) square([12*mt, 3*h/4], center=true);
+    translate([0, h/2]) polygon([ [ -12*mt/2, -3*h/8], [-32*mt/2, 0], [-11*mt/2, 0]]);
+    translate([0, h/2]) polygon([ [  12*mt/2, -3*h/8], [ 32*mt/2, 0], [ 11*mt/2, 0]]);
+
+
   }
 
 }
 
-//PopufareHousingFrontInsideSupportPlate();
+//PopufareHousingFrontInsideSupport1Plate();

+ 96 - 0
experiment/production/housing/v-acorn-squash/PopufareHousingFrontInsideSupport2.scad

@@ -0,0 +1,96 @@
+// License: CC0
+//
+// To the extent possible under law, Clementine Computing LLC has waived
+// all copyright and related or neighboring rights to this file.
+//
+// This work is published from: United States.
+//
+
+include <PopufareHousingCommon.scad>
+
+module PopufareHousingFrontInsideSupport2Plate() {
+
+  w = POPUFARE_HOUSING_WIDTH;
+  h = POPUFARE_FRONT_HEIGHT;
+
+  bx = POPUFARE_BRACKET_CX;
+  br = POPUFARE_BRACKET_D/2.0;
+  de = POPUFARE_BRACKET_DE;
+
+  frontlip = POPUFARE_HOUSING_FRONT_LIP_HEIGHT;
+
+  mt = _MATERIAL_THICKNESS;
+
+  lip = _MATERIAL_THICKNESS;
+  lip_top = _MATERIAL_THICKNESS * sqrt(2.0);
+
+  h_tot = h - lip_top + lip;
+
+  fudge = 10;
+
+  bracket_r = POPUFARE_BRACKET_WIDTH/2;
+
+  difference() {
+    union() {
+      square([w,h], center=true);
+    };
+
+    // legacy housing fron lip
+    //
+    translate([0, -(h/2 - frontlip/2)]) square([w + 2*lip,frontlip], center=true);
+
+    // get rid of ghost edges
+    //
+    translate([0, -(h/2 - frontlip/2)]) square([w + 2*lip + 1,frontlip], center=true);
+    translate([0, -(h/2)]) square([w + 2*lip + 1,frontlip/2], center=true);
+
+    // shave off top front panel to accomodate angle plate.
+    // fudge to guard against stray geometry
+    //
+    translate([0, (h/2 - 0.4999*lip_top)]) square([2*w, lip_top + 0.15], center=true);
+
+    // side plate bracket attachment
+    //
+    hull() {
+      translate([ -(w/2 - bx), 0]) circle(bracket_r);
+      translate([ -(w/2 - bx) - 2*de, 0]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([ (w/2 - bx), 0]) circle(bracket_r);
+      translate([ (w/2 - bx) + 2*de, 0]) circle(bracket_r);
+    }
+
+    // bottom lip attachment
+    //
+    translate([ -(w/2 - 8*mt), -(h/2 - bx)]) circle(br);
+    translate([  (w/2 - 8*mt), -(h/2 - bx)]) circle(br);
+
+    translate([ -(w/2 - 12*mt), -(h/2 - bx)]) circle(br);
+    translate([  (w/2 - 12*mt), -(h/2 - bx)]) circle(br);
+
+    // inner lip bracket catch attachment
+    //
+    /*
+    hull() {
+      translate([ -(w/2 - 12*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([ -(w/2 - 12*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([  (w/2 - 12*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([  (w/2 - 12*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+    */
+
+    // top clearance
+    //
+    translate([0, h/2]) square([12*mt, 3*h/4], center=true);
+    translate([0, h/2]) polygon([ [ -12*mt/2, -3*h/8], [-32*mt/2, 0], [-11*mt/2, 0]]);
+    translate([0, h/2]) polygon([ [  12*mt/2, -3*h/8], [ 32*mt/2, 0], [ 11*mt/2, 0]]);
+
+  }
+
+}
+
+//PopufareHousingFrontInsideSupport2Plate();

+ 12 - 2
experiment/production/housing/v-acorn-squash/PopufareHousingFrontInsideAlign.scad

@@ -8,7 +8,7 @@
 
 include <PopufareHousingCommon.scad>
 
-module PopufareHousingFrontInsideAlignPlate() {
+module PopufareHousingFrontInsideSupport3Plate() {
 
   w = POPUFARE_HOUSING_WIDTH;
   h = POPUFARE_FRONT_HEIGHT;
@@ -63,6 +63,9 @@ module PopufareHousingFrontInsideAlignPlate() {
 
     // bottom lip attachment
     //
+    translate([ -(w/2 - 12*mt), -(h/2 - bx)]) circle(br);
+    translate([  (w/2 - 12*mt), -(h/2 - bx)]) circle(br);
+
     hull() {
       translate([ -(w/2 - 8*mt), -(h/2 - bx)]) circle(bracket_r);
       translate([ -(w/2 - 8*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
@@ -73,8 +76,15 @@ module PopufareHousingFrontInsideAlignPlate() {
       translate([  (w/2 - 8*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
     }
 
+    // top clearance
+    //
+    translate([0, h/2]) square([12*mt, 3*h/4], center=true);
+    translate([0, h/2]) polygon([ [ -12*mt/2, -3*h/8], [-32*mt/2, 0], [-11*mt/2, 0]]);
+    translate([0, h/2]) polygon([ [  12*mt/2, -3*h/8], [ 32*mt/2, 0], [ 11*mt/2, 0]]);
+
+
   }
 
 }
 
-//PopufareHousingFrontInsideAlignPlate();
+//PopufareHousingFrontInsideSupport3Plate();

+ 96 - 0
experiment/production/housing/v-acorn-squash/PopufareHousingFrontInsideSupport4.scad

@@ -0,0 +1,96 @@
+// License: CC0
+//
+// To the extent possible under law, Clementine Computing LLC has waived
+// all copyright and related or neighboring rights to this file.
+//
+// This work is published from: United States.
+//
+
+include <PopufareHousingCommon.scad>
+
+module PopufareHousingFrontInsideSupport4Plate() {
+
+  w = POPUFARE_HOUSING_WIDTH;
+  h = POPUFARE_FRONT_HEIGHT;
+
+  bx = POPUFARE_BRACKET_CX;
+  br = POPUFARE_BRACKET_D/2.0;
+  de = POPUFARE_BRACKET_DE;
+
+  frontlip = POPUFARE_HOUSING_FRONT_LIP_HEIGHT;
+
+  mt = _MATERIAL_THICKNESS;
+
+  lip = _MATERIAL_THICKNESS;
+  lip_top = _MATERIAL_THICKNESS * sqrt(2.0);
+
+  h_tot = h - lip_top + lip;
+
+  fudge = 10;
+
+  bracket_r = POPUFARE_BRACKET_WIDTH/2;
+
+  difference() {
+    union() {
+      square([w,h], center=true);
+    };
+
+    // legacy housing fron lip
+    //
+    translate([0, -(h/2 - frontlip/2)]) square([w + 2*lip,frontlip], center=true);
+
+    // get rid of ghost edges
+    //
+    translate([0, -(h/2 - frontlip/2)]) square([w + 2*lip + 1,frontlip], center=true);
+    translate([0, -(h/2)]) square([w + 2*lip + 1,frontlip/2], center=true);
+
+    // shave off top front panel to accomodate angle plate.
+    // fudge to guard against stray geometry
+    //
+    translate([0, (h/2 - 0.4999*lip_top)]) square([2*w, lip_top + 0.15], center=true);
+
+    // side plate bracket attachment
+    //
+    hull() {
+      translate([ -(w/2 - bx), 0]) circle(bracket_r);
+      translate([ -(w/2 - bx) - 2*de, 0]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([ (w/2 - bx), 0]) circle(bracket_r);
+      translate([ (w/2 - bx) + 2*de, 0]) circle(bracket_r);
+    }
+
+    // bottom lip attachment
+    //
+    hull() {
+      translate([ -(w/2 - 8*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([ -(w/2 - 8*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([  (w/2 - 8*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([  (w/2 - 8*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([ -(w/2 - 12*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([ -(w/2 - 12*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    hull() {
+      translate([  (w/2 - 12*mt), -(h/2 - bx)]) circle(bracket_r);
+      translate([  (w/2 - 12*mt), -(h/2 - bx) - 2*de]) circle(bracket_r);
+    }
+
+    // top clearance
+    //
+    translate([0, h/2]) square([12*mt, 3*h/4], center=true);
+    translate([0, h/2]) polygon([ [ -12*mt/2, -3*h/8], [-32*mt/2, 0], [-11*mt/2, 0]]);
+    translate([0, h/2]) polygon([ [  12*mt/2, -3*h/8], [ 32*mt/2, 0], [ 11*mt/2, 0]]);
+
+  }
+
+}
+
+//PopufareHousingFrontInsideSupport4Plate();

+ 1 - 1
experiment/production/housing/v-acorn-squash/export/export-all

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-VERSION=2.2.6
+VERSION=2.2.8
 
 function ngc_position {
   ifn="$1"

+ 19 - 0
experiment/production/housing/v-acorn-squash/housing_layout_3d.scad

@@ -3,6 +3,12 @@ include <PopufareHousingCommon.scad>
 include <PopufareHousingBottom.scad>
 include <PopufareHousingFrontAngle.scad>
 include <PopufareHousingFrontBottom.scad>
+
+include <PopufareHousingFrontInsideSupport1.scad>
+include <PopufareHousingFrontInsideSupport2.scad>
+include <PopufareHousingFrontInsideSupport3.scad>
+include <PopufareHousingFrontInsideSupport4.scad>
+
 include <PopufareHousingSideLeft.scad>
 include <PopufareHousingSideRight.scad>
 include <PopufareHousingTop.scad>
@@ -40,6 +46,19 @@ translate( [  (dw/2+spacing), 0, dh/2 + spacing ] ) rotate(90, [0,1,0]) rotate(9
 translate( [ 0, -(dh/2 + spacing), hh/2 + spacing]) rotate(90, [1,0,0])
   PopufareHousingFrontBottomPlate();
 
+translate( [ 0, -(dh/2 + spacing - 20), hh/2 + spacing]) rotate(90, [1,0,0])
+  PopufareHousingFrontInsideSupport1Plate();
+
+translate( [ 0, -(dh/2 + spacing - 40), hh/2 + spacing]) rotate(90, [1,0,0])
+  PopufareHousingFrontInsideSupport2Plate();
+
+translate( [ 0, -(dh/2 + spacing - 60), hh/2 + spacing]) rotate(90, [1,0,0])
+  PopufareHousingFrontInsideSupport3Plate();
+
+translate( [ 0, -(dh/2 + spacing - 80), hh/2 + spacing]) rotate(90, [1,0,0])
+  PopufareHousingFrontInsideSupport4Plate();
+
+
 translate( [ 0, -dz/2, hh + sqrt(2)*(dh-hh)/2 + spacing] ) rotate(45, [1,0,0])
   PopufareHousingFrontAnglePlate();