From c2bcba321d2c33d933f8fd5451afe93e3a07f47f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 27 Aug 2016 16:12:44 +0100 Subject: [PATCH] flyscreen-handle: New inadj approach --- flyscreen-handle.scad | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/flyscreen-handle.scad b/flyscreen-handle.scad index 38c3dea..d7b8f57 100644 --- a/flyscreen-handle.scad +++ b/flyscreen-handle.scad @@ -50,11 +50,17 @@ P1 = [ P2[0], P3t[1] - (inside_h + ourcirc_r*2) ]; P9 = [ outside_len - ourcirc_r, outside_gap/2 + ourcirc_r ]; P8 = P9 + [ 0, outend_height - ourcirc_r*2 ]; P5 = Q0 + p4p5d; -P6b = P5 + [ -outside_push_inadj, outside_pushh - ourcirc_r*2 ]; -P7b = [ P6b[0] + (P6b[1] - P1[1]) / outside_pushslope, + +P6t = P5 + [ 0, outside_pushh - ourcirc_r*2 ]; +P7t = [ P6t[0] + (P6t[1] - P1[1]) / outside_pushslope, P1[1] ]; -P3b = P3t + [ -outside_push_inadj * (P3t[1]-P4[1]) / (P6b[1]-P5[1]), 0 ]; +outside_push_inadj_slope = (P3t[1]-P4[1]) / (P6a[1]-P5[1]); + +P3a = P3t + [ -outside_push_inadj, 0 ]; +P6a = P6t + [ -outside_push_inadj, 0 ]; +P7a = [ P6a[0] + (P6a[1] - P1[1]) / outside_pushslope, + P1[1] ]; module ExtrusionSect(){ cr = openingedge_dia/2; @@ -88,14 +94,18 @@ module PsHull(ps) { } } -module LeverSect(P3){ - PsHull([P2, P3, P4]); +module LeverSect(inadj=false){ + P3 = inadj ? P3a : P3t; + diag = inadj ? 0 : atan(outside_push_inadj_slope); + PsHull([P2,P3,P4]); difference(){ PsHull([P0,P1,P2,P5,P8,P9]); translate(Q0) { - hull(){ - circle(r=edge_or, $fn=20); - translate([0,10]) circle(r=edge_or, $fn=20); + rotate(diag){ + hull(){ + circle(r=edge_or, $fn=20); + translate([0,10]) circle(r=edge_or, $fn=20); + } } } } @@ -103,15 +113,17 @@ module LeverSect(P3){ module LeverSectTop(){ difference(){ - LeverSect(P3t); + LeverSect(false); translate([pivot_x,0]) circle(r= pivot_r + pivot_slop, $fn=20); } } -module LeverSectBot(){ +module LeverSectBot(inadj=false){ + P6 = inadj ? P6a : P6t; + P7 = inadj ? P7a : P7t; mirror([0,1]) { - LeverSect(P3b); - PsHull([P5,P6b,P7b]); + LeverSect(inadj); + PsHull([P5,P6,P7]); translate([pivot_x,0]) circle(r=pivot_r, $fn=20); } } @@ -126,13 +138,14 @@ module LeverTop(){ linear_extrude(height=width, convexity=100) LeverSectTop(); } -module LeverBot(){ - linear_extrude(height=width, convexity=100) LeverSectBot(); +module LeverBot(inadj=false){ + linear_extrude(height=width, convexity=100) LeverSectBot(inadj); } module Test(){ translate([0,2,0]) LeverTop(); LeverBot(); + translate([0,-opening_height - 2,0]) LeverBot(true); } //Demo(); -- 2.30.2