From b800fc081204fcba76ae60f3adf5767af15d97ee Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 26 Aug 2016 19:35:40 +0100 Subject: [PATCH] flyscreen-handle: sort out slopes --- flyscreen-handle.scad | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) 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(); -- 2.30.2