This is a simple enclosure style that I have found myself using a lot for different interfaces. I have designed many computer interfaces that are little more than a plastic box containing some arcade buttons and some species of controller. For instance, it can become a quick way to launch a program or send shortcut keys. Many of my designs are used by people who have low vision or poor dexterity, so large bright buttons are a win.
I like using arcade buttons to interface different things to computers because they are large, brightly colored, and designed to take a beating and have good tactile response.
However, I don't like the "ABS Project box" approach unless I am desperate - the ergonomics are bad, the look is bad, etc. I tend to favor all-rounded edges, with the buttons on an angled surface. This approach also allows for the use of raised markers or glyphs that can help someone use the device with low vision.
This generator is what I have used for several of my projects, and I am posting it in the hopes that others might find it useful. This creates enclosures that open at the bottom. The enclosures have a lid on the bottom that is held in place via screws. This code generates the enclosure and the lid simultaneously.
The heart of this code is two parts. The first part defines the shape of the enclosure through a set of points. Each point defines a point on the surface (such as a corner), each point has a screw in the bottom (and a corresponding hole in the lid). The second part is a definition of height; by adjusting the height of the front and the rear, the angle of the sloping front can be controlled. I have created an openSCAD module called onFace, it makes arranging items on the sloping face (either negative items, such as holes), or positive items such as glyphs, very easy.
I have included five variants of this code, each creating different types of enclosures. The first one is purely a demonstration (and hasn't been printed), the others have all been used to create devices (and so have pictures, etc.)
Add the Guts....