From 4c65e12a888cdb828aa50010d318cad8f2d10249 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Fri, 5 Jul 2019 20:06:51 +0800 Subject: [PATCH] add voronoi_bracelet --- examples/voronoi_bracelet.scad | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 examples/voronoi_bracelet.scad diff --git a/examples/voronoi_bracelet.scad b/examples/voronoi_bracelet.scad new file mode 100644 index 00000000..9db5647c --- /dev/null +++ b/examples/voronoi_bracelet.scad @@ -0,0 +1,40 @@ +include ; +include ; +include ; + +r = 35; +height = 35; +thickness = 2.5; +n = 25; +frags = 24; +offset_r = 0.5; +region_type = "square"; // [square, circle] + +module voronoi_bracelet(r, height, thickness, n, frags, offset_r, region_type) { + $fn = 12; + + x = 2 * PI * r - thickness; + y = height; + + xs = rands(0, x, n); + ys = rands(0, y, n); + + points = [for(i = [0: len(xs) - 1]) [xs[i], ys[i]]]; + + bend_extrude( + size = [x, y], + thickness = thickness, + angle = 360 * (1 - thickness / (2 * PI * r)), + frags = frags + ) + { + difference() { + square([x, y]); + voronoi2d(points, spacing = thickness, r = offset_r, region_type = region_type); + } + hollow_out(thickness * 1.5) + square([x, y]); + } +} + +voronoi_bracelet(r, height, thickness, n, frags, offset_r, region_type);