-
Tour Easy Headset Wrench
The headset on my Tour Easy ‘bent worked its way loose, which led to a disturbing discovery: the headset wrench I made from a discarded flat wrench vanished with the shop tools donated to MakerSmiths.
Fortunately, we live in the future:

Tour Easy Headset Wrench – Slic3r preview A thin plastic wrench is absolutely no good for torquing down the locknut, but that’s not what it’s for. Adjust the bearing race to the proper preload with this wrench, hold it in place, then torque the locknut with the BFW.
The OpenSCAD source code as a GitHub Gist:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters// Tour Easy Headset 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] */ WrenchSize = 32.0; // headset race across-the-flats size NumFlats = 8; JawWidth = 10.0; JawOD = 2*JawWidth + WrenchSize; echo(str("Jaw OD: ",JawOD)); StemOD = 23.0; 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(1*180/NumFlats) { // cosine converts across-flats to circle dia cylinder(d=WrenchSize/cos(180/NumFlats),h=(WrenchThick + 2*Protrusion),$fn=NumFlats); } translate([-StemOD,0,WrenchThick/2]) cube([2*StemOD,StemOD,(WrenchThick + 2*Protrusion)],center=true); translate([WrenchSize,0,WrenchThick – 3*ThreadThick]) linear_extrude(3*ThreadThick + Protrusion,convexity=10) text(text=str("TE Headset"),size=8,spacing=1.20,font="Arial",halign="left",valign="center"); } Now, I’d like to say that was easy, but in actual point of fact …
First, I forgot to divide by cos(180/6) to convert the across-the-flats size to the diameter of OpenSCAD’s circumscribed hexagon-as-circle, which made the wrench uselessly small:

Tour Easy Headset Wrench – v1 If you have a 28 mm nut with low torque requirements, though, I’ve got your back.
While I had the hood up, I slenderized the handle into a much shapelier figure:

Tour Easy Headset Wrench Trotting off to the garage with a warm plastic wrench in hand, I discovered the blindingly obvious fact that the headset nuts have eight sides. On the upside, the number of sides became a parameter, so, should you happen to need a five-sided wrench (perhaps on Mars), you can have one.
So, yeah, it’s rapid prototyping in full effect:

Tour Easy Headset Wrench Iterations Remember, kids, never design while distracted …