From d54c8edf3430f88517c17213e2accfc6d856bcf0 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 12 Feb 2016 00:11:26 +0000 Subject: [PATCH] wardrobe-hook: Break out FArcSegment and FArcSegment_mask into utils (nfc) --- utils.scad | 26 ++++++++++++++++++++++++++ wardrobe-hook.scad | 24 +----------------------- 2 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 utils.scad diff --git a/utils.scad b/utils.scad new file mode 100644 index 0000000..5234d51 --- /dev/null +++ b/utils.scad @@ -0,0 +1,26 @@ +// -*- C -*- + +// suitable for masking things within radius sqrt(2) only +module FArcSegment_mask(beta) { + for (i=[0 : 0.75 : 3]) { + rotate(i*beta/4) + polygon([[0, 0], + [1, 0], + [cos(beta/4), sin(beta/4)]]); + } +} + +module FArcSegment(xc,yc,inrad,outrad,alpha,delta) { + translate([xc,yc]) { + intersection() { + difference() { + circle(r=outrad, $fn=70); + circle(r=inrad, $fn=70); + } + rotate(alpha) scale(outrad*2) { + FArcSegment_mask(delta); + } + } + } +} + diff --git a/wardrobe-hook.scad b/wardrobe-hook.scad index d7c070c..959e967 100644 --- a/wardrobe-hook.scad +++ b/wardrobe-hook.scad @@ -1,29 +1,7 @@ // -*- C -*- include - -module FArcSegment_mask(beta) { - for (i=[0 : 0.75 : 3]) { - rotate(i*beta/4) - polygon([[0, 0], - [1, 0], - [cos(beta/4), sin(beta/4)]]); - } -} - -module FArcSegment(xc,yc,inrad,outrad,alpha,delta) { - translate([xc,yc]) { - intersection() { - difference() { - circle(r=outrad, $fn=70); - circle(r=inrad, $fn=70); - } - rotate(alpha) scale(outrad*2) { - FArcSegment_mask(delta); - } - } - } -} +include tubeslop = 0.5; tubeheight = 30 + tubeslop; -- 2.30.2