diff --git a/examples/stereographic_square_maze.scad b/examples/stereographic_square_maze.scad index f3c9c6c1..13786cf1 100644 --- a/examples/stereographic_square_maze.scad +++ b/examples/stereographic_square_maze.scad @@ -17,42 +17,9 @@ module stereographic_projection_maze2(maze_rows, block_width, wall_thickness, fn ); length = block_width * maze_rows + wall_thickness; - - module draw_block(wall_type, block_width, wall_thickness) { - if(wall_type == UPPER_WALL || wall_type == UPPER_RIGHT_WALL) { - // draw a upper wall - line2d( - [0, block_width], [block_width, block_width], wall_thickness - ); - } - - if(wall_type == RIGHT_WALL || wall_type == UPPER_RIGHT_WALL) { - // draw a right wall - line2d( - [block_width, block_width], [block_width, 0], wall_thickness - ); - } - } - - module draw_maze(rows, columns, blocks, block_width, wall_thickness) { - for(block = blocks) { - // move a block to a right position. - translate([get_x(block) - 1, get_y(block) - 1] * block_width) - draw_block( - get_wall_type(block), - block_width, - wall_thickness - ); - } - - // the lowermost wall - line2d([0, 0], [block_width * columns, 0], wall_thickness); - // the leftmost wall - line2d([0, 0], [0, block_width * rows], wall_thickness); - } module maze() { - translate([-block_width * maze_rows / 2, -block_width * maze_rows / 2, 0]) union() { + translate([-block_width * maze_rows / 2, -block_width * maze_rows / 2, 0]) draw_maze( maze_rows, maze_rows, @@ -60,14 +27,15 @@ module stereographic_projection_maze2(maze_rows, block_width, wall_thickness, fn block_width, wall_thickness ); - } } stereographic_extrude(shadow_side_leng = length, $fn = fn) maze(); if(shadow == "YES") { - color("black") linear_extrude(wall_height) maze(); + color("black") + linear_extrude(wall_height) + maze(); } }