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:

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:
// 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:

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:

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:

Remember, kids, never design while distracted …
FWIW, hydrant wrenches have 5 sides…
5-sided nuts/bolts were a common anti-tamper notion for a while. I’ve seen them on highway signs, flashers, and fire hydrants. However, a thin plastic wrench would be unlikely to help with any of those.