Welcome to MakerHome

We've completed our yearlong print-a-day project! New projects will be posted at www.mathgrrl.com/hacktastic.

All mathgrrl designs and associated images and files on MakerHome are licensed under the Creative Commons Attribution Non-Commercial Share Alike license. If you want to use designs, images, or files outside of the terms of this license, please email request@mathgrrl.com.

Tuesday, May 27, 2014

Day 274 - Customizable Sock Bones

Sometimes I think I got into this 3D printing thing just so I would have the opportunity to say things like "customizable sock bones". Here they are:


These dogbone-like objects are for holding pairs of socks together, so you don't have to roll or tie up your socks. My sock drawer used to be an unholy mess of partnerless socks, but now it looks like this:


Let's be honest, though. If my sock drawer was really going to look like this then I wouldn't need any clips. After rummaging around it actually looks like this:


That's at least a thousand times better than its previous state, which I am not going to show you. The sock bones shown in these pictures work for standard men's socks, folded in half and then clipped in the middle. At the link below you'll also find a Customizer model that you can adjust to your size of socks.

Thingiverse link: http://www.thingiverse.com/thing:352805

Settings: Printed on a MakerBot Replicator 2 at .3mm/low. Printing six at a time takes about an hour, and it's a good way to use up scraps of filament you have lying around.

Technical notes, OpenSCAD flavor: This model is really simple; just a 2D shape made of circles and rectangles, extruded into 3D using linear_extrude.

// mathgrrl customizable sock bone

/////////////////////////////////////////////////////////////
// parameters ///////////////////////////////////////////////

// Length from one side of the sock to the other
length = 86; 

// Width/thickness of the folded sock
width = 13; 

// parameters that the user does not get to specify
$fn = 24*1;
radius = width*(8/13);
thickness = 2*1; 
height = 10*1; 

/////////////////////////////////////////////////////////////
// renders //////////////////////////////////////////////////

sockbone();

/////////////////////////////////////////////////////////////
// module for clip //////////////////////////////////////////

module sockbone(){
linear_extrude(height)
// 2D shape of bone holder
union(){
difference(){
// outer bone
union(){
translate([radius,0,0]) 
circle(radius);
translate([radius,-width/2,0]) 
square([length-2*radius,width]);
translate([length-radius,0,0]) 
circle(radius);
};
// take away inner bone
union(){
translate([radius,0,0]) 
circle(radius-thickness);
translate([radius,-(width-2*thickness)/2,0]) 
square([length-2*radius,width-2*thickness]);
translate([length-radius,0,0])
circle(radius-thickness);
}
// take away opening
translate([.25*length,0,0]) 
square(.5*length);
}
// rounded end caps
translate([.25*length,width/2-thickness/2,0])
circle(.7*thickness);
translate([.75*length,width/2-thickness/2,0])
circle(.7*thickness);
}
}