chiark / gitweb /
pin-hinge: wip
[reprap-play.git] / pin-hinge.scad
index bf9aa7b2bd003eb084927416f09270b6e2d80593..c17ce811dfeaa01c09929f38b4947e4fce2a7e6b 100644 (file)
@@ -1,9 +1,11 @@
 // -*- C -*-
 
+include <utils.scad>
+
 $hinge_pin_dia = 0.795 + 0.35;
 $hinge_main_dia = 4.0;
 $hinge_inter_gap = 0.50;
-$hinge_prong_minwidth = 3.5;
+$hinge_prong_minwidth = 3.0;
 $hinge_noncrit_gap = 1.0;
 
 $fa = 3;
@@ -32,23 +34,31 @@ module PlanDemo(){
   translate([0,0,1]) color("red") HingePinPlan();
 }
 
-module HingePositive(l){
-  linetr_x_yz(0, l)
-    HingeProngPlan();
+module HingePositive(l, behind){
+  linextr_x_yz(0, l)
+    HingeProngPlan(behind);
 }  
 
 module HingeNegative(l){
-  eff_l = l + $hionge_inter_gap;
+  eff_l = l + $hinge_inter_gap;
   pairs = floor(eff_l / (2*($hinge_prong_minwidth + $hinge_inter_gap)));
   stride = eff_l / pairs;
   prong_width = stride/2 - $hinge_inter_gap;
-  linextr_x_ayz(-0.1, l+0.1)
+  linextr_x_yz(-0.1, l+0.1)
     HingePinPlan();
   for (i=[0:pairs-1]) {
     translate(stride * i * [1,0,0])
-      linextr_x_yz(0, prong_width + $hinge_inter_gap)
+      linextr_x_yz(0 + (i==0 ? -0.1 : 0), prong_width + $hinge_inter_gap)
       HingeGapPlan();
   }
 }
 
-PlanDemo();
+module Demo(){
+  difference(){
+    HingePositive(30, 10);
+    %HingeNegative(30);
+  }
+}
+
+//PlanDemo();
+Demo();