From: Ian Jackson Date: Sun, 20 Aug 2023 20:32:56 +0000 (+0100) Subject: flyscreen-wall-spacer: wip, v2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6e34cfbbee457a9bbd198c3dc565b8cd4d92feb2;p=reprap-play.git flyscreen-wall-spacer: wip, v2 Signed-off-by: Ian Jackson --- diff --git a/flyscreen-wall-spacer.scad b/flyscreen-wall-spacer.scad index a767f98..aeb3607 100644 --- a/flyscreen-wall-spacer.scad +++ b/flyscreen-wall-spacer.scad @@ -12,6 +12,19 @@ bucket_wall = 2.5; bucket_floor = 2.5; whole_dia = plug_dia + bucket_wall *2; +min_spacing = 8; +max_spacing = 19; + +// calculated + +module Oval(r, dc) { + hull(){ + circle(r); + translate([0, dc]) + circle(r); + } +} + module MainCircle() { difference(){ circle(r = whole_dia/2); @@ -19,10 +32,29 @@ module MainCircle() { } } -module Spacer(inboard_to_wall) { +module MultiSpacer() { + difference(){ + linextr(0, $inboard_to_wall - bracket_th){ + Oval(whole_dia/2, max_spacing); + } + + linextr(bucket_floor, 100) { + Oval(plug_dia/2, max_spacing); + } + + linextr(-1, 100) { + circle(screw_dia/2); + + translate([0, min_spacing]) + Oval(screw_dia/2, max_spacing - min_spacing); + } + } +} + +module Spacer($inboard_to_wall) { linextr(0, bucket_wall) MainCircle(); - linextr(0, inboard_to_wall - bracket_th){ + linextr(0, $inboard_to_wall - bracket_th){ difference(){ MainCircle(); circle(r = plug_dia/2); @@ -31,9 +63,18 @@ module Spacer(inboard_to_wall) { } module Spacers() { - Spacer(left_inboard_to_wall); - translate([0, 40]) - Spacer(right_inboard_to_wall); + for (dy = [0, 30]) { + translate([0,dy,0]) { + Spacer($inboard_to_wall = left_inboard_to_wall); + translate([0, 70, 0]) + Spacer($inboard_to_wall = right_inboard_to_wall); + } + } + + translate([40, 0, 0]) + MultiSpacer($inboard_to_wall = left_inboard_to_wall); + translate([40, 70, 0]) + MultiSpacer($inboard_to_wall = right_inboard_to_wall); } Spacers();