Bird Box Entrance Reducers: Round 2

One of the bird box entrance reducers I installed nigh onto a decade ago is still on duty, although downy woodpeckers definitely want a larger hole:

Bird Box - gray PVC pipe reducer - woodpecker damage
Bird Box – gray PVC pipe reducer – woodpecker damage

Another reducer had gone missing over the years, so I made one from a length of PVC pipe:

Bird Box - PVC pipe reducer - shaping
Bird Box – PVC pipe reducer – shaping

It started as 1-½ PVC pipe, 1-⅞ inch actual OD and should fit into a 1-½ hole, so I measured 1.5 × 3.15 around the circumference, bandsawed out the excess, draped it over a 1-½ Forstner bit, toasted it with a heat gun, and squashed it so it’s just a little bit bigger than the (enlarged!) hole in the box.

Now the entrance is 1-¼ (-ish), just like it should be:

Bird Box - PVC pipe reducer - installed
Bird Box – PVC pipe reducer – installed

The bird box in the front yard has been attracting starlings, in addition to serving as a hawk perch:

New Coopers Hawks - bird box takeoff whoops
New Coopers Hawks – bird box takeoff whoops

The oblong hole required advanced manufacturing techniques:

Oval Entrance Reducer
Oval Entrance Reducer

The front face should be too slick for larger birds and the little ones will zip right into the hole:

Bird Box - 3D printed entrance reducer
Bird Box – 3D printed entrance reducer

The two starlings who’d been evaluating the box seem to have moved on; we doubt they’re now homeless.

The OpenSCAD source code as a GitHub Gist:

// Bird Box - oval entrance reducer
// Ed Nisley KE4ZNU 2020-02-12
//- Extrusion parameters must match reality!
// Print with 3 shells and 3 solid layers
ThreadThick = 0.25;
ThreadWidth = 0.40;
HoleWindage = 0.2;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
Protrusion = 0.1; // make holes end cleanly
inch = 25.4;
//----------------------
// Dimensions
EntranceID = 1.25 * inch;
BoxHole = [1.5,2.25] * inch;
BoxWall = 0.75 * inch;
HoleOC = BoxHole.y - BoxHole.x;
FlangeWidth = 5.0;
FlangeThick = 5*ThreadThick;
$fn = 12*4;
//-------------------
// Build it
difference() {
union() {
linear_extrude(height=BoxWall + FlangeThick)
hull()
for (j=[-1,1])
translate([0,j*HoleOC/2])
circle(d=BoxHole.x);
linear_extrude(height=FlangeThick)
hull()
for (j=[-1,1])
translate([0,j*HoleOC/2])
circle(d=BoxHole.x + 2*FlangeWidth);
}
translate([0,0,-Protrusion])
cylinder(d=EntranceID,h=2*BoxWall);
}