Simple but effective model for a customizable snap-fit general purpose electronics project box built in OpenSCAD. Does not need screws. Holds together really well, may need tool to open.
You can download a customized stl and import it into e.g., TinkerCAD, to add board standoffs, enclosure cutouts for cables and buttons, etc.
The number of wall sizes is adjustable. For small boxes (under 2-3 cm), one wall may be sufficient. For slightly larger boxes I use 2-3 walls and for really large boxes more than 3 walls.
See https://www.thingiverse.com/thing:2880454 for an example of what you can do with this.
Please post a picture if you have made one, and leave a comment if you have suggestions for improvement.
TODO: Convert this into a TinkerCAD shape generator. Can you do it? Please leave a comment.
May need to adjust the tolerance so that the snap hooks fit into the groves tightly but without bulging the walls outward. 0.2mm is the default tolerance for FDM and works very well for me.