chiark / gitweb /
fairphone-case: Demos of hinges much improved
[reprap-play.git] / fairphone-case.scad
index 9b23c0ab7e83c39d1024370ed099271ce741a687..cca703e522f713cead93887a168ecbd2f2abfbfb 100644 (file)
@@ -592,7 +592,8 @@ module HingeLeverInnerProfile(){
   for (s = [-1,+1]) {
     c = s > 0 ? hppT : hppB;
     translate(c)
-      mirror([0,0, s>0 ? 1 : 0])
+      mirror([0,0,s>0])
+      rotate(-s * 45)
       hull()
       for (x=[-20,20])
        for (y=[0, s * 10])
@@ -601,10 +602,17 @@ module HingeLeverInnerProfile(){
   }
 }
 
-module Flip_hinge(){
+module HingeLeverNutProfile(){
+  for (c= [hppB, hppT]) {
+    translate(c)
+      circle($fn=6, r= 0.5 * hingescrew_nut_across / cos(30));
+  }
+}
+
+module Flip_hinge(doflip=1){
   hinge_origin = [0, -(phone_height - hppB[0]), hppB[1]];
   translate(hinge_origin)
-    rotate([180,0,0])
+    rotate([doflip*180,0,0])
     translate(-hinge_origin)
     children();
 }
@@ -903,7 +911,7 @@ module HingeLever(){ ////toplevel
 }
 
 module HingeLeverPrint(){ ////toplevel
-  rotate([90,0,0])
+  rotate([-90,0,0])
     HingeLever();
 }
 
@@ -1169,7 +1177,25 @@ module DemoProfiles(){ ////toplevel
     color("blue") HingeLidProfile();
     color("red")  HingeBaseProfile();
     color("black") translate([0,0,-2]) HingeLeverOuterProfile();
-    color("orange") translate([0,0,-1]) HingeLeverInnerProfile();
+  }
+
+  for (f=[0,1]) {
+    translate([-30, -60 + 30*f]) {
+      translate([0,0,-4]) EdgeProfile();
+      %translate([0,0,-10]) HingeBaseProfile();
+      translate([0,-2] * f * hp_k) {
+       translate([0,0,-4]) LidEdgeProfile();
+       %translate([0,0,-10]) %HingeLidProfile();
+      }
+      translate(+hppB) rotate([0,0,180*f]) translate(-hppB) {
+       translate([0,0,-2]) color("black") HingeLeverOuterProfile(); 
+       translate([0,0,0]) color("red") difference(){
+         HingeLeverOuterProfile();
+         HingeLeverInnerProfile();
+       }
+       translate([0,0,3]) color("yellow") HingeLeverNutProfile();
+      }
+    }
   }
 
   translate([20,-30]) {