From ca93d31f342e42d6ca713d635f054acf24be863f Mon Sep 17 00:00:00 2001 From: Correl Roush Date: Wed, 7 Dec 2022 13:21:14 -0500 Subject: [PATCH] [project_box] Update README --- README.org | 26 ++++++++++++++++++++++++++ project-box.png | Bin 0 -> 14976 bytes 2 files changed, 26 insertions(+) create mode 100644 project-box.png diff --git a/README.org b/README.org index 704270a..cafd3e0 100644 --- a/README.org +++ b/README.org @@ -7,3 +7,29 @@ My collection of 3D-printable models designed using [[https://openscad.org/][Ope A parametric box for electronics projects using perforated circuit boards. The board is held above the bottom of the box by four corner supports, and snaps into place to hold it snugly while allowing easy removal. + +#+caption: Generating a project box for a 5x7cm board with front and back cutouts. +#+begin_src scad :file project-box.png :eval no-export :exports both + use + $fn=50; + + mode = "case"; // ["case", "lid", "all"] + box = [50, // Board width + 70, // Board length + 20]; // Project height + + rotate([0,0,180]) + project_box(box, + below=10, + mode=mode) { + cutout_front(box) + translate([10, 5, 0]) + square([15,10]); + cutout_back(box) + translate([10, 5, 0]) + circle(5); + } +#+end_src + +#+RESULTS: +[[file:project-box.png]] diff --git a/project-box.png b/project-box.png new file mode 100644 index 0000000000000000000000000000000000000000..af0938cf8f7ca3c7a5d041a0c37cf7e3ceca21dd GIT binary patch literal 14976 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 G$;G#~W=oHE7fSMj^O3UaAMPC+VwM`c;)`mt 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 D;KZmn literal 0 HcmV?d00001