X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=flyscreen-handle.scad;h=5f1f643f6d0abf3b405c6da2c4bcc1756c34eeb8;hp=c927ec5c1bae8e803708fe1916856e99f3cbbd92;hb=3db5630259f06c51cf1548dfab2f5154bf555ab3;hpb=05f6d872e10502cc7c628ae0e33a693fe1982f8c diff --git a/flyscreen-handle.scad b/flyscreen-handle.scad index c927ec5..5f1f643 100644 --- a/flyscreen-handle.scad +++ b/flyscreen-handle.scad @@ -11,9 +11,11 @@ inside_len = 4; pivoting_gap = 0.1; outside_gap = 3; -outside_len = 16; +outside_len = 13; outend_height = 3; +outside_len_bot = 23; + outside_pushh = 4; outside_pushslope = 1.4; outside_push_inadj = 0.82; @@ -33,6 +35,10 @@ pivot_slop = 0.25; strap_above = 0.1; strap_th = 2.5; strap_below = 3; +strap_width = 5; + +width = 35; +nstraps = 2; test_width = 5; @@ -62,6 +68,10 @@ P9t = P8t + [ 0, -(strap_above + strap_th + strap_below - ourcirc_r*2) ]; P9b = [ P9t[0], -P9t[1] + outside_gap ]; P8b = P9b + [ 0, outend_height ]; +P89eadj = [ outside_len_bot - outside_len, 0 ]; +P8eb = P8b + P89eadj; +P9eb = P9b + P89eadj; + P6t = P5 + [ 0, outside_pushh - ourcirc_r*2 ]; P7 = [ P6t[0] + (P6t[1] - P1[1]) / outside_pushslope, P1[1] ]; @@ -73,6 +83,8 @@ outside_push_inadj_slope = (P3t[1]-P4[1]) / (P6a[1]-P5[1]); ribble_rad = ribble_dia/2; +kit_adj_shift = -opening_height - 2.0; + module ExtrusionSect(){ cr = openingedge_dia/2; toph = opening_height/2 + opening_protrh; @@ -137,22 +149,31 @@ module StrapSectTop(){ module StrapSectBot(){ mirror([0,1]){ - translate(P9b + [ ourcirc_r - (strap_below + strap_th), -10 ]) { - square([strap_th, 20]); + for (dx = [ -(strap_below + strap_th), + 0 ]) { + translate(P9b + [ ourcirc_r + dx, -10 ]) { + square([strap_th, 20]); + } } } } +module Ribbles(xmax, xmin, y){ + for (x = [ xmax + ourcirc_r - ribble_rad : + -ribble_rad * 4 : + xmin ]) { + translate([x, y]) + circle(r = ribble_rad, $fn=20); + } +} + module LeverSectTop(){ difference(){ union(){ LeverSect(true, false); - for (x = [ P8t[0] + ourcirc_r - ribble_rad : - -ribble_rad * 4 : - Q0[0] + edge_or + ribble_rad*2 ]) { - translate([x, P5[1] + ourcirc_r]) - circle(r = ribble_rad, $fn=20); - } + Ribbles(P8t[0], + Q0[0] + edge_or + ribble_rad*2, + P5[1] + ourcirc_r); } translate([pivot_x,0]) circle(r= pivot_r + pivot_slop, $fn=20); } @@ -163,6 +184,10 @@ module LeverSectBot(inadj=false){ mirror([0,1]) { LeverSect(false, inadj); PsHull([P5,P6,P7]); + PsHull([P8b,P8eb,P9eb,P9b]); + Ribbles(P8eb[0], + P9b[0], + P8eb[1]); translate([pivot_x,0]) circle(r=pivot_r, $fn=20); } } @@ -173,29 +198,61 @@ module Demo(){ translate([0,0,5]) LeverSectBot(); color("black") LeverSectBot(true); color("blue") translate([0,0,10]) StrapSectTop(); - color("purple") translate([0,0,10]) StrapSectBot(); -} - -module LeverTop(){ - LeverSectTop(); -} - -module LeverBot(inadj=false){ - linear_extrude(height=test_width, convexity=100) LeverSectBot(inadj); + color("purple") translate([0,0,-10]) StrapSectBot(); } module SomeLever() { // SomeLever(){ LeverBot(inadj); LeverSectBot(); } + difference(){ + linear_extrude(height=width, convexity=100) children(0); + for (i = [ 0 : nstraps - 1 ]) { + translate([0,0, (i + 0.5) / nstraps * width - strap_width/2]) + linear_extrude(height=strap_width, convexity=10) + children(1); + } + } } module Test(){ linear_extrude(height=test_width, convexity=100) { translate([0,2,0]) LeverSectTop(); LeverSectBot(); - translate([0,-opening_height - 2,0]) LeverSectBot(true); + translate([0,kit_adj_shift]) LeverSectBot(true); + } +} + +module LeverTop(){ ////toplevel + SomeLever(){ + LeverSectTop(); + StrapSectTop(); + } +} +module LeverBot(){ ////toplevel + SomeLever(){ + LeverSectBot(); + StrapSectBot(); + } +} +module LeverBotAdj(){ ////toplevel + SomeLever(){ + LeverSectBot(true); + StrapSectBot(true); } } +module Kit(){ ////toplevel + translate([0,2,0]) LeverTop(); + LeverBot(); +} + +module KitAdj(){ ////toplevel + translate([0,2,0]) LeverTop(); + LeverBotAdj(); +} + //LeverSectBot(true); //Demo(); -Test(); +//LeverTop(); +//Test(); +//Kit(); +//KitAdj();