Skip to content

Instantly share code, notes, and snippets.

@ednisley
Created February 1, 2016 20:22
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 ednisley/1eec257b7def511a3484 to your computer and use it in GitHub Desktop.
Save ednisley/1eec257b7def511a3484 to your computer and use it in GitHub Desktop.
OpenSCAD Source Code: Sears Sewing Table Hinge Cover
// Vacuum Tube LED Lights
// Ed Nisley KE4ZNU January 2016
//- Extrusion parameters must match reality!
ThreadThick = 0.20;
ThreadWidth = 0.40;
HoleWindage = 0.2;
Protrusion = 0.1; // make holes end cleanly
inch = 25.4;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
//----------------------
// Dimensions
Hinge = [7.0,52.0,6.0];
TopThick = 3*ThreadThick;
PlateThick = Hinge[2] + TopThick;
NumSides = 8*4;
//----------------------
// Useful routines
module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes
Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
FixDia = Dia / cos(180/Sides);
cylinder(r=(FixDia + HoleWindage)/2,h=Height,$fn=Sides);
}
//----------------------
// Build it
difference() {
hull()
for (a=[0:7])
rotate(a*360/8)
translate([Hinge[1]/2,0,0])
scale([1.5,1.5,1])
sphere(r=PlateThick,$fn=NumSides);
hull()
for (k=[-1,1])
translate([0,Hinge[1]/2,k*(Hinge[2] - Hinge[0]/2)])
rotate([90,0,0]) rotate(180/8)
PolyCyl(Hinge[0],Hinge[1],8);
for (i=[-1,1])
translate([i*Hinge[1]/2,0,-Protrusion])
PolyCyl(4.8,2.5 + Protrusion,8);
translate([0,0,-PlateThick])
cube(2*[Hinge[1],Hinge[1],PlateThick],center=true);
}
@ednisley
Copy link
Author

ednisley commented Feb 1, 2016

More details on my blog at http://wp.me/poZKh-5Bj

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment