My entry to the Makerbot Customizer contest – Parametric box generator
So a while ago I tried to help a friend design a case for some electronics. Essentially some electronics enclosures. Towards that effort I developed a library that allowed me to build a basic t-slot powered box like below. Well, I decided to clean up the library, throw it up onto thingiverse as a customizable object and push the code out to github.
First this customizer-enabled object was designed to be a library to be able to generate cubes with different types of attachment mechanism. The first pass was t-slot (I think that is the right term) but I hope to expand it to be more versatile. That said full files that power this as well as examples of more complex boxes to hold PCB-electronics are located on github here.
https://github.com/hendricksonrw/savorywatt-thingiverse/tree/master/58944-case-maker
http://www.thingiverse.com/thing:58944
The default settings will allow you to just pick the size of the internal object and it will have 3 t-slot points on each face (you will be able to change this through the anchor count). You can use the library to customize each face as well as adjust the offsets to build your own custom case bases. The customizer version is not able to punch holes for your specific enclosures though I’m hoping to expand the library with some standard I/O holes (USB, Power, HDMI).
The main parameters you can customize with the customizer are below
// The dimensions of the size of the object you want to have inside
internal_x = 100;
internal_y = 100;
internal_z = 100;
// How thick your material is to cut, or how thick of walls you want to print
material_z = 4;
// Measure whatever screws you want to use with whatever nuts and set it accordingly
screw_outside_diameter = 3;
screw_length = 12;
nut_outside_diameter = 5.5;
nut_height = 2.5;
// Related to the anchors themselves
// Anchor Count determines how many anchoring points there will be along a face
anchor_count = 3;
// Determines how wide the teeth are that will be pushed into the opposing face
tooth_width = 3;
// Determines where the nut will rest, based on a percentage
channel_position =70; // [0:100]
//Select what part you want to export – make your own build plates
part = “assembled”; // [assembled:Assembled, bottom:Bottom, top:Top, west:West Wall, east:East Wall, north:North Wall, south:South Wall]
Part – Select what part you want to get or see an assembled preview
I used this library to produce this model of a small case for a prototyping board.
It turned out close, still tweaking it to make sure it fits the board mounting parts perfectly.