From 574e4b695a3b7a4b24e3ed3ac44316f7557b6c85 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Fri, 30 Jul 2021 11:02:42 +0800 Subject: [PATCH] refactor --- examples/tiled_line_torus.scad | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/examples/tiled_line_torus.scad b/examples/tiled_line_torus.scad index e2d717d1..136291ae 100644 --- a/examples/tiled_line_torus.scad +++ b/examples/tiled_line_torus.scad @@ -1,27 +1,22 @@ -use ; +use ; use ; use ; size = [20, 50]; line_diameter = 1; -step = 1; twist = 180; $fn = 4; -module tiled_line_torus(size, twist, step, line_diameter = 1) { - sizexy = is_num(size) ? [size, size] : size; - s = is_undef(step) ? line_diameter * 2 : step; - - function rand_diagonal_line_pts(x, y, size) = - rand(0, 1) >= 0.5 ? [[x, y], [x + size, y + size]] : [[x + size, y], [x, y + size]]; - - lines = concat( - [ - for(x = [0:s:sizexy[0] - s]) - for(y = [0:s:sizexy[1] - s]) - rand_diagonal_line_pts(x, y, s) - ] - ); +module tiled_line_torus(size, twist, line_diameter = 1) { + lines = [ + for(tile = tile_truchet(size)) + let( + x = tile[0], + y = tile[1], + i = tile[2] + ) + i <= 1 ? [[x, y], [x + 1, y + 1]] : [[x + 1, y], [x, y + 1]] + ]; for(line = lines) { pts = [for(p = line) ptf_torus(size, p, [size[0], size[0] / 2], twist = twist)]; @@ -29,8 +24,8 @@ module tiled_line_torus(size, twist, step, line_diameter = 1) { } } -tiled_line_torus(size, twist, step, line_diameter); +tiled_line_torus(size, twist, line_diameter); color("black") rotate_extrude($fn = 36) translate([size[0] * 1.5, 0, 0]) - circle(size[0] / 2); + circle(size[0] / 2); \ No newline at end of file