X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=flyscreen-handle.scad;h=60622789b5753ccbca74fecaa1a263902acb66ff;hp=5937a94a0e96334845fccd9397631c7135afbb8a;hb=4515eb62a740a1c33403e30bb80be04912140734;hpb=4c698635270c942eca2e1dd8cdc1fc753b8bcf54 diff --git a/flyscreen-handle.scad b/flyscreen-handle.scad index 5937a94..6062278 100644 --- a/flyscreen-handle.scad +++ b/flyscreen-handle.scad @@ -36,7 +36,11 @@ basics_len = 8; overret_hch = 5; -peg_width = 3; +peg_width_slop = 0.5; +peg_inner_thick = 1.0; + +peg_wedge_less = 1.0; +peg_wedge_more = 1.0; // calculated @@ -60,8 +64,9 @@ retain_cutout_h = retain_rad * 2 + retain_bend_gap; overret_gaplen = retain_cutout_h / cos(retain_empir_angle); -peg_space_width = retain_stalk_len - - (handle_x0 - retain_mxy[0]) / cos(retain_empir_angle); +peg_width = retain_stalk_len - + (handle_x0 - retain_mxy[0]) / cos(retain_empir_angle) + - peg_width_slop; peg_height = retain_cutout_h - (retain_rad + retain_stalk_h) + retain_pushmore_adj; @@ -69,6 +74,8 @@ peg_height = retain_cutout_h - (retain_rad + retain_stalk_h) retain1_len = retain_len + retain_stalk_len; retain1_base = total_len - retain1_len; +peg_len = retain_len; + module InsertSection(){ hull(){ translate([-ins_irad, -ins_irad]) @@ -131,14 +138,20 @@ module RetainSection(){ } module PegSection(delta){ - square([peg_width, - peg_height + delta]); + hull(){ + translate([0, -delta/2]) + square([0.1, + peg_height + delta]); + translate([peg_width - 0.1, + peg_height/2 - peg_inner_thick/2]) + square([0.1, peg_inner_thick]); + } } module PegSectionForDemo(delta){ translate(retain_mxy) rotate(retain_empir_angle) - translate([retain_stalk_len - peg_space_width, + translate([retain_stalk_len - peg_width - peg_width_slop/2, retain_stalk_h - retain_pushmore_adj]) PegSection(delta); } @@ -180,6 +193,21 @@ module BasicSection(){ HandleSection(); } +module PegSectionSlice(lambda) { + delta = peg_wedge_more * (1-lambda) + -peg_wedge_less * lambda; + z = peg_len * lambda; + translate([0,0, z]) + linear_extrude(height=0.1) + PegSection(delta); +} + +module Peg(){ + hull(){ + PegSectionSlice(0); + PegSectionSlice(1); + } +} + module Handle(){ bs1 = retain_len + overret_gaplen + 4; @@ -234,12 +262,13 @@ module Test(){ } } -Demo(); +//Demo(); //HandleSection(); //InsertSection(); //WithRetainSection(); //BasicSection(); //GappingSection(); //Test(); +Peg(); //Demo(); //Handle();