From: Ian Jackson Date: Tue, 15 Sep 2020 22:47:34 +0000 (+0100) Subject: pin-hinge: wip X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=46fb2db6a0757b63f9eb0cd44956f69e5196be1e;p=reprap-play.git pin-hinge: wip Signed-off-by: Ian Jackson --- diff --git a/pin-hinge.scad b/pin-hinge.scad index 9fa22de..bf9aa7b 100644 --- a/pin-hinge.scad +++ b/pin-hinge.scad @@ -3,6 +3,7 @@ $hinge_pin_dia = 0.795 + 0.35; $hinge_main_dia = 4.0; $hinge_inter_gap = 0.50; +$hinge_prong_minwidth = 3.5; $hinge_noncrit_gap = 1.0; $fa = 3; @@ -13,14 +14,11 @@ module HingePinPlan(){ } module HingeProngPlan(behind){ - difference(){ - hull(){ - circle(r= $hinge_main_dia/2); - polygon([[0,0], - [-$hinge_main_dia/2, -behind], - [+$hinge_main_dia/2, -behind]]); - } - HingePinPlan(); + hull(){ + circle(r= $hinge_main_dia/2); + polygon([[0,0], + [-$hinge_main_dia/2, -behind], + [+$hinge_main_dia/2, -behind]]); } } @@ -31,6 +29,26 @@ module HingeGapPlan() { module PlanDemo(){ HingeProngPlan(5); %HingeGapPlan(); + translate([0,0,1]) color("red") HingePinPlan(); +} + +module HingePositive(l){ + linetr_x_yz(0, l) + HingeProngPlan(); +} + +module HingeNegative(l){ + eff_l = l + $hionge_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) + HingePinPlan(); + for (i=[0:pairs-1]) { + translate(stride * i * [1,0,0]) + linextr_x_yz(0, prong_width + $hinge_inter_gap) + HingeGapPlan(); + } } PlanDemo();