Given the fragility of ferrite toroids in general and slit toroids in particular, a touch of up-armoring seems sensible:

The solid model includes a toroid shell with roughly the right curves:

That puts a nice rounded shape on the bottom of the armor, not that that makes much difference:

The central hole passes a 4-40 brass, nylon, or stainless steel screw. Most of the magnetic field stays within the ferrite and, heck, this isn’t a crazy-sensitive analog application, so even an ordinary steel screw shouldn’t cause any particular problems.
The rectangular (not pie-wedge) slit barely passes the Hall effect sensor.
I’ll pour some clear epoxy over the toroid, with tape masking the ferrite core and sealing the ends, to immobilize the windings. That sounds like a good idea after calibration and suchlike.
The OpenSCAD source code, which should be sufficiently parametric that I can crank ’em out for all the other toroids large enough to accept a screw:
// Toroid coil mounting bracket
// Ed Nisley - KE4ZNU - August 2014
Layout = "Mount"; // Coil Mount Build Show
//- Extrusion parameters must match reality!
// Print with 4 shells and 3 solid layers
ThreadThick = 0.20;
ThreadWidth = 0.40;
HoleWindage = 0.2; // extra clearance
Protrusion = 0.1; // make holes end cleanly
AlignPinOD = 1.70; // assembly alignment pins: filament dia
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
//----------------------
// Dimensions
ID = 0; // subscripts for cylindrical objects
OD = 1;
LEN = 2;
Coil = [10.25,23.50,8.3]; // wound toroid core
SensorThick = 2.0;
BaseThick = IntegerMultiple(1.0,ThreadThick); // baseplate under coil
WallThick = IntegerMultiple(1.0,ThreadWidth); // walls beside coil
ScrewHoleDia = 4.0; // allow alignment slop around 3 mm / #4 screws
//----------------------
// 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) {
RangeX = floor(100 / Space);
RangeY = floor(125 / Space);
for (x=[-RangeX:RangeX])
for (y=[-RangeY:RangeY])
translate([x*Space,y*Space,Size/2])
%cube(Size,center=true);
}
//----------------------
// Basic coil shape
module CoilShape() {
CornerRadius = min((Coil[LEN] / 2),((Coil[OD] - Coil[ID]) / 2)) / 3;
MidRadius = (Coil[ID] + Coil[OD]) / 4;
HalfX = (Coil[OD] - Coil[ID]) / 4 - CornerRadius;
HalfY = (Coil[LEN] / 2) - CornerRadius;
echo(CornerRadius,MidRadius,HalfX,HalfY);
color("Goldenrod")
render(convexity = 2)
rotate(180/20)
rotate_extrude(convexity=3,$fn=20)
translate([MidRadius,0])
hull()
for (i=[-1,1],j=[-1,1])
translate([i*HalfX,j*HalfY])
circle(r=CornerRadius,$fn=24);
}
//----------------------
// Mount
module Mount() {
difference() {
rotate(180/20)
cylinder(h=(BaseThick + Coil[LEN]),d=(Coil[OD] + 2*WallThick),$fn=20);
translate([0,0,-Coil[LEN]]) // make screw hole
rotate(180/6)
PolyCyl(ScrewHoleDia,3*Coil[LEN],$fn=6);
translate([0,0,BaseThick + Coil[LEN]/2]) // set bottom curve
CoilShape();
translate([0,0,BaseThick + Coil[LEN]]) // clear out top
CoilShape();
translate([(Coil[ID]/2 + Coil[OD]/2),0,0])
cube([Coil[OD],SensorThick,3*Coil[LEN]],center=true);
}
}
ShowPegGrid();
if (Layout == "Coil") {
CoilShape();
}
if (Layout == "Mount")
Mount();
if (Layout == "Show") {
Mount();
translate([0,0,(BaseThick + Coil[LEN]/2)])
CoilShape();
}
if (Layout == "Build") {
Mount();
}