X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=wardrobe-hook.scad;h=9ea6a3cd0e94299a83dda251b55ecbc25a34b8f4;hp=17885e27698619efa23c51b0d853bc84f421820f;hb=52c5ba1ef8354991548846b4f0b2ec1667f5a3c8;hpb=79e0be459398aa3553589c731eca7296d60fb8b9 diff --git a/wardrobe-hook.scad b/wardrobe-hook.scad index 17885e2..9ea6a3c 100644 --- a/wardrobe-hook.scad +++ b/wardrobe-hook.scad @@ -139,21 +139,25 @@ module SElevation(){ [-1, boty]]); } +module SElevationPlaced(){ + rotate([0,-90,0]) translate([0,0,-100]) linear_extrude(height=200) + SElevation(); +} + module SHookL(){ ///toplevel intersection(){ linear_extrude(height=topwidth) SPlan(); - rotate([0,-90,0]) translate([0,0,-100]) linear_extrude(height=200) - SElevation(); + SElevationPlaced(); } } // straight-on version, reversed, everything prefixed with t or T -tjoinrad = 5; +tjoinrad = mainoutrad * 0.7; +tstem0leny = tuberad - tjoinrad*0.5; tjoinoutrad = tjoinrad + mainthick; thookcy = shookcy; -tstem0leny = tuberad; tjoin0c = [tuberad - tjoinrad, -tstem0leny]; tjoin1c = [0, thookcy]; @@ -164,12 +168,27 @@ echo(tbend_raw); tbend0 = angle_map_range(tbend_raw, 0); tbend1 = angle_map_range(tbend_raw + 180, -180); +tbend0p = circle_point(tjoin0c, tjoinrad, tbend_raw); +tbend1p = circle_point(tjoin1c, -hookoutrad, tbend_raw); + module TPlan(){ ClipPlan(0, tstem0leny); FArcSegment(tjoin0c[0],tjoin0c[1], tjoinrad,tjoinoutrad, tbend0, 360-tbend0); FArcSegment(0,shookcy, hookinrad,hookoutrad, tbend1, 270+hookcurl - tbend1); + translate(tbend0p) { + rotate(tbend_raw+180) mirror([1,0]) { + translate([0,-0.1]) square(size=[mainthick, dist2d(tbend0p,tbend1p)+0.2]); + } + } +} + +module THookL(){ ///toplevel + intersection(){ + linear_extrude(height=topwidth) TPlan(); + SElevationPlaced(); + } } // other toplevels etc.