This is a heavily revised version of The Ultimate Box Maker, but still true to the original design. Development occurs at https://github.com/jbebel/Ultimate-Box-Maker. Aside from a thorough cleanup of the code for readability, the following features are now supported:
- Editable back panel in addition to front
- Calculate the box size from the PCB size and margin parameters
- Horizontal or vertical text alignment arguments
- Variable panel and tab thickness separate from the box
- Square corners (no filet or chamfer)
- Parameterize all dimensions, such that the box is infinitely scalable. Doubling every parameter will double the box in all dimensions.
- Vents go through the floor and are scaled to fit the size of the filet.
- For larger filets, scale interior filets to make exterior and interior filets concentric.
- Decorations are optional
- Box fixation tabs can individually be placed on the top or bottom shell
- EXPERIMENTAL: Screwless designs for fixation tabs and PCB supports.
To create a box, start by modifying the numerical parameters in the sections at the top. This can be accomplished using a release of OpenSCAD newer than 2015.03. As of the time of writing, this means that a development snapshot is required. The Thingiverse Customizer may also potentially work, but at the time of writing, it was inoperable. The simplest choice is to hand-edit the .scad file. Feature toggles are annotated with a comment. The other numerical parameters are measurements in mm. Everything is parameterized, so if you double all the non-feature parameters you will double the box size in every dimension. Certain parameters are derived from other parameters. If you wish to override them, you may, but sensible defaults have been chosen. Notably the design in this revision is particularly PCB-centric, in that you should start with your PCB size and adjust the margins around it to determine the box size. If you care more about the box size, you can set the Length, Width, and Height explicitly, but read the comments around them.
Once your box is sized appropriately, you can use the Panel modules to design the holes and text for the front and back panels. Helper variables are provided to assist you in positioning these holes relative to the PCB, if your holes are for PCB-mounted components.
When you are ready to print, adjust the values in the "STL element to export" section, and export each part one at a time.
Experimental options are provided for a screwless design, but these are untested. In particular, the box fixation tabs may need thicknesses adjusted in order to have the appropriate flexibility.
- Improved comments around foot positions
- Made screw holes larger in outer shell so screws bind only to internal tabs
- Added convenience variables for the visible edges of panels
- Separate panel margins into panel thickness margin and panel edge margin with different defaults.
- Snap tab fixes for button size and thin tabs.
- Separate panel margins even more. You need more on the sides than on the top and bottom.
- Think of Panel gaps as on a single edge rather than both to simplify math
- Taper the screwless feet tips to make it easier to fit box halves together.
- Adjust the filet size around square holes by the cutout margin in order to actually achieve the desired filet.
You will likely need to edit the CutoutMargin and PartMargin parameters to match your printer. It may take some experimentation to determine the correct values. PartMargin is a margin you need to allow between mating parts. CutoutMargin specifically applies to interior cutouts.