From: Ian Jackson Date: Fri, 26 Aug 2016 18:35:40 +0000 (+0100) Subject: flyscreen-handle: sort out slopes X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b800fc081204fcba76ae60f3adf5767af15d97ee;p=reprap-play.git flyscreen-handle: sort out slopes --- diff --git a/flyscreen-handle.scad b/flyscreen-handle.scad index 852b38f..88924c9 100644 --- a/flyscreen-handle.scad +++ b/flyscreen-handle.scad @@ -30,8 +30,8 @@ handle_rcut = 3; cutout_gap = 1.5; -total_len = 35; -retaining_len = 10; +total_len = 40; +basics_len = 8; overret_hch = 5; @@ -57,6 +57,9 @@ retain_cutout_h = retain_rad * 2 + retain_bend_gap; overret_gaplen = retain_cutout_h / cos(retain_empir_angle); +retaining_len = total_len - overret_gaplen - basics_len * 2; +echo(retaining_len); + module InsertSection(){ hull(){ translate([-ins_irad, -ins_irad]) @@ -155,12 +158,31 @@ module BasicSection(){ } module Handle(){ - bs0 = retaining_len + overret_gaplen; + bs0 = retaining_len + overret_gaplen + basics_len; bs1 = bs0 + overret_hch; linear_extrude(height=total_len, convexity=100) GappingSection(); - linear_extrude(height=retaining_len, convexity=100) WithRetainSection(); - translate([0,0, bs1]) linear_extrude(height= total_len - bs1) - BasicSection(); + + translate([0,0, basics_len]) { + intersection(){ + linear_extrude(height=retaining_len, convexity=100) + WithRetainSection(); + translate([retain_mxy[0], retain_mxy[1], 0]) + rotate([0,0, retain_empir_angle]) + translate([retain_stalk_len, -30, 0]) + multmatrix([[1,0,-1,0], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1]]) + cube([50, 60, 50]); + } + } + + for (z= [0, bs1]) { + translate([0,0, z]) + linear_extrude(height= basics_len) + BasicSection(); + } + translate([0,0, bs1+0.1]) mirror([0,0,1]) { intersection_for (sl=[0,1]) { multmatrix([[1,0,0,0], @@ -192,6 +214,6 @@ module Test(){ //WithRetainSection(); //BasicSection(); //GappingSection(); -Test(); +//Test(); //Demo(); -//Handle(); +Handle();