Quite some time ago I manage to break the finger flange on one of my scope probes and, what with it being made of an un-glueable engineering plastic, a simple repair job failed quickly. It’s entirely round and a perfect lathe project, but … this is easier:

You can see remnants of that failed repair just below the fracture:

Some epoxy around the rim of the flange, plus filling the missing sector, looks about as grubby as you’d expect:

That’s a tiny zit at about 1 o’clock which came off with fingernail pressure.
From the business end, it actually looks pretty snappy:

I’m mildly tempted to preemptively reinforce the other probes…
The OpenSCAD source code joins two parts with coincident faces, but it worked out OK for once:
// Tek Scope Probe Flange // Ed Nisley KE4ZNU November 2013 //- Extrusion parameters must match reality! // Print with 2 shells and 3 solid layers ThreadThick = 0.25; ThreadWidth = 0.40; HoleWindage = 0.2; Protrusion = 0.1; // make holes end cleanly function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit); //---------------------- // Dimensions FlangeOD = 16.0; FlangeID = 8.75; FlangeThick = IntegerMultiple(1.25,ThreadThick); DiskOD = FlangeOD + 4*ThreadWidth; DiskThick = FlangeThick + 4*ThreadThick; 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); } module ShowPegGrid(Space = 10.0,Size = 1.0) { Range = floor(50 / Space); for (x=[-Range:Range]) for (y=[-Range:Range]) translate([x*Space,y*Space,Size/2]) %cube(Size,center=true); } //---------------------- // Build it ShowPegGrid(); difference() { union() { translate([0,0,2*ThreadThick]) cylinder(r=DiskOD/2,h=DiskThick,$fn=NumSides); // main repair part cylinder(r1=(DiskOD - 2*ThreadWidth)/2,r2=DiskOD/2,h=2*ThreadThick,$fn=NumSides); } translate([0,0,(DiskThick - FlangeThick)]) // flange clearance PolyCyl(FlangeOD,2*FlangeThick,NumSides); translate([0,0,-DiskThick/2]) PolyCyl(FlangeID,2*DiskThick,NumSides); }