Skip to content

Instantly share code, notes, and snippets.

@ednisley
Created September 24, 2017 22:06
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/fa4fe31f0a84f6d94c974165507c8214 to your computer and use it in GitHub Desktop.
Save ednisley/fa4fe31f0a84f6d94c974165507c8214 to your computer and use it in GitHub Desktop.
OpenSCAD source code: Fire Hydrant Wrench -- just for fun
// Hydrant Wrench
// Ed Nisley KE4ZNU - September 2017
/* [Extrusion] */
ThreadThick = 0.25; // [0.20, 0.25]
ThreadWidth = 0.40; // [0.40]
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
Protrusion = 0.01; // [0.01, 0.1]
HoleWindage = 0.2;
//- Sizes
/* [Dimensions] */
NumFlats = 5; // this is not a variable for this geometry!
Height = 39.0; // pentagon flat-to-vertex measurement
Side = Height / 1.539;
echo(str("Side:",Side));
Radius = Side / 1.176;
echo(str("Radius: ",Radius));
WrenchDia = 2*Radius; // pentagon circumcircle diameter
echo(str("Wrench dia:",WrenchDia));
JawWidth = 10.0;
JawOD = 2*JawWidth + WrenchDia;
echo(str("Jaw OD: ",JawOD));
WrenchThick = 5.0;
HandleLength = 2*JawOD;
HandleWidth = 25.0;
//- Build things
difference() {
linear_extrude(height=WrenchThick,convexity=4) {
hull() { // taper wrench body to handle
circle(d=JawOD);
translate([0.75*JawOD,0,0])
circle(d=HandleWidth);
}
hull() { // handle
translate([0.75*JawOD,0,0])
circle(d=HandleWidth);
translate([HandleLength,0,0])
circle(d=HandleWidth);
}
}
translate([0,0,-Protrusion])
rotate(180/NumFlats)
cylinder(d=WrenchDia,h=(WrenchThick + 2*Protrusion),$fn=NumFlats);
translate([WrenchDia,0,WrenchThick - 3*ThreadThick])
linear_extrude(3*ThreadThick + Protrusion,convexity=10)
text(text=str("Fire Hydrant!"),size=8,spacing=1.20,font="Arial",halign="left",valign="center");
}
@ednisley
Copy link
Author

More details on my blog at http://wp.me/poZKh-74H

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