Skip to content

Instantly share code, notes, and snippets.

Created December 12, 2016 04:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/af48e4abb567362686e6bcd4201658dc to your computer and use it in GitHub Desktop.
Save anonymous/af48e4abb567362686e6bcd4201658dc to your computer and use it in GitHub Desktop.
Small Tekton Socket Holder
socketDiameters = [ 0.700, 0.660, 0.620, 0.545, 0.506, 0.466, 0.466, 0.466, 0.466, 0.466];
socketLabels = ["13", "12", "11", "10", "9", "8", "7", "6", "5", "4"];
tabHeight = 0.250;
socketDriveHoleDiameter = 0.254;
socketDriveHoleDepth = 0.340;
socketDriveHoleTaper = socketDriveHoleDepth - tabHeight - 0.030;
$fn = 64;
for(index = [0:len(socketDiameters)-1])
{
socketDiameter = socketDiameters[index];
yOffset = add_up_to(index, socketDiameters);
xOffset = (index % 2) * 0.466;
translate([xOffset, yOffset, 0])
drawSocketHolder(socketDiameter);
translate([0.70 - 0.70 * (index%2), yOffset, 0])
rotate([0,0,90])
linear_extrude(height=0.1, center=true, convexity=512, twist = 0)
text(socketLabels[index], 0.25, "Tahoma:style=Bold", halign = "center");
}
translate([-0.4125, 0.35, -0.125])
cube([0.4125 + 0.466 + 0.3925, add_up_to(len(socketDiameters)-1,socketDiameters)-0.125, 0.125]);
module drawSocketHolder(socketDiameter) {
union(){
union(){
translate([0,0,socketDriveHoleDepth - socketDriveHoleTaper])
cylinder(r1 = socketDriveHoleDiameter/2, r2 = socketDriveHoleDiameter/2-socketDriveHoleTaper, h = socketDriveHoleTaper);
cylinder(d = socketDriveHoleDiameter, h = socketDriveHoleDepth - socketDriveHoleTaper);
}
difference() {
translate([-(socketDiameter + 0.125)/2, -socketDiameter / 3, 0])
cube([socketDiameter + 0.125, socketDiameter / 1.5, tabHeight]);
#cylinder(d = socketDiameter, h = 0.980);
}
}
}
// add all integers up to index
function add_up_to(index, vector) = ( index==0 ? vector[0] : vector[index] + add_up_to(index - 1, vector) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment