From e8d7b1b4161239ecfe13eec157aefba98a861a83 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Tue, 22 Dec 2020 17:31:35 +0800 Subject: [PATCH] add doc --- README.md | 4 +-- docs/images/lib2x-mz_square_get-1.JPG | Bin 0 -> 49131 bytes docs/lib2x-mz_square_get.md | 44 ++++++++++++++++++++++++++ src/maze/mz_square_get.scad | 10 ++++++ 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 docs/images/lib2x-mz_square_get-1.JPG create mode 100644 docs/lib2x-mz_square_get.md diff --git a/README.md b/README.md index f2cabb39..b4729de6 100644 --- a/README.md +++ b/README.md @@ -248,10 +248,10 @@ These examples incubate dotSCAD and dotSCAD refactors these examples. See [examp ### Maze - [mz_square_cells](https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_square_cells.html) -- mz_square_get -- mz_square_initialize +- [mz_square_get](https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_square_get.html) - mz_square_walls - mz_hex_walls +- mz_square_initialize - mz_hamiltonian ---- diff --git a/docs/images/lib2x-mz_square_get-1.JPG b/docs/images/lib2x-mz_square_get-1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..7c0ccb16b5db1e991f9b4c30c121706c8681cc94 GIT binary patch literal 49131 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 + use ; + use ; + + rows = 10; + columns = 10; + cell_width = 5; + wall_thickness = 2; + + cells = mz_square_cells(rows, columns); + + for(cell = cells) { + x = mz_square_get(cell, "x"); + y = mz_square_get(cell, "y"); + type = mz_square_get(cell, "t");; + + translate([x, y] * cell_width) { + if(type == "TOP_WALL" || type == "TOP_RIGHT_WALL") { + line2d([0, cell_width], [cell_width, cell_width], wall_thickness); + } + + if(type == "RIGHT_WALL" || type == "TOP_RIGHT_WALL") { + line2d([cell_width, cell_width], [cell_width, 0], wall_thickness); + } + } + } + + line2d([0, 0], [cell_width * rows, 0], wall_thickness); + line2d([0, 0], [0, cell_width * columns], wall_thickness); + +![mz_square_get](images/lib2x-mz_square_get-1.JPG) \ No newline at end of file diff --git a/src/maze/mz_square_get.scad b/src/maze/mz_square_get.scad index b12728f9..db76b482 100644 --- a/src/maze/mz_square_get.scad +++ b/src/maze/mz_square_get.scad @@ -1,3 +1,13 @@ +/** +* mz_square_get.scad +* +* @copyright Justin Lin, 2020 +* @license https://opensource.org/licenses/lgpl-3.0.html +* +* @see https://openhome.cc/eGossip/OpenSCAD/lib2x-mz_square_get.html +* +**/ + function mz_square_get(cell, query) = let( i = search(query, [