X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=summit-lantern-hook.scad;h=e91573a51e2ecdc3f283b98af922ef47fb99d7ef;hb=ba7c5b240dcdab5fa3f4e3f7823bb828551471f0;hp=a6c62ac25a23b1b92ed219473349b0cbc7fe58eb;hpb=8f73f16568cb59ace133946d55e9594c6ed9b9a3;p=reprap-play.git diff --git a/summit-lantern-hook.scad b/summit-lantern-hook.scad index a6c62ac..e91573a 100644 --- a/summit-lantern-hook.scad +++ b/summit-lantern-hook.scad @@ -3,10 +3,11 @@ include height = 60; -th = 6; curl = 10; width = 85; -sides_depth = 35; +sides_depth = 50; +th = 6; +th2 = 4; $fa = 3; $fs = 0.3; @@ -14,25 +15,50 @@ $fs = 0.3; // calculated upper_r = th/2; - upper_ctr_maj_r = curl/2 + upper_r; +zmin = curl/2 + th; + module UpperPlan(){ circle(r = upper_r); } +module EndCurl(){ + rotate([90,0,0]) + rotate_extrude(angle=180) + translate([upper_ctr_maj_r, 0]) + UpperPlan(); + translate([-upper_ctr_maj_r, 0,0]) + sphere(r= upper_r); +} + module Upper(){ translate([upper_ctr_maj_r, 0, 0]) linextr(-0.1, height + 0.1) UpperPlan(); - translate([0, 0, height]){ - rotate([90,0,0]) - rotate_extrude(angle=180) - translate([upper_ctr_maj_r, 0]) - UpperPlan(); - translate([-upper_ctr_maj_r, 0,0]) - sphere(r= upper_r); + translate([0, 0, height]) + EndCurl(); +} + +module Lower(){ + rotate([180,0,0]) + EndCurl(); + linextr(-zmin, -zmin + th) { + square(center=true, [th2, width]); + for (m=[0,1]) + mirror([0,m]) + hull() + { + for (x= sides_depth/2 * [-1,+1]) + translate([ x, width/2 - th2/2 ]) + circle(r= th2/2); + } } } -Upper(); +module Hook(){ + Upper(); + Lower(); +} + +Hook();