From 2b336e881a6acb252a0af98887e3ff2dde33bc1a Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sun, 16 Feb 2020 16:34:30 +0800 Subject: [PATCH] refactor --- examples/maze/pyramid_maze.scad | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/examples/maze/pyramid_maze.scad b/examples/maze/pyramid_maze.scad index b3c76041..4b9d60cb 100644 --- a/examples/maze/pyramid_maze.scad +++ b/examples/maze/pyramid_maze.scad @@ -1,4 +1,5 @@ -use ; +use ; +use ; maze_rows = 10; block_width = 2; @@ -10,25 +11,28 @@ module pyramid_maze(maze_rows, block_width, wall_thickness) { linear_extrude(height, scale = 0) square(leng, center = true); } - - maze_blocks = go_maze( - 1, 1, // starting point - starting_maze(maze_rows, maze_rows), + + blocks = mz_blocks( + [1, 1], maze_rows, maze_rows - ); - + ); + + walls = mz_walls(blocks, maze_rows, maze_rows, block_width); + leng = maze_rows * block_width ; half_leng = leng / 2; intersection() { linear_extrude(leng * 2) - translate([-half_leng, -half_leng]) build_square_maze( - maze_rows, - maze_rows, - maze_blocks, - block_width, - wall_thickness - ); + translate([-half_leng, -half_leng]) + for(wall = walls) { + for(i = [0:len(wall) - 2]) { + hull() { + translate(wall[i]) square(wall_thickness, center = true); + translate(wall[i + 1]) square(wall_thickness, center = true); + } + } + } pyramid(leng + wall_thickness); }