The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Clothes Dryer Inlet Filter Holder

It has always seemed like a Bad Idea™ to run indoor air through the clothes dryer and dump it overboard, particularly during days when the indoor air has been painstakingly (perhaps expensively) heated or cooled. The dryer now lives in a separate room with two doors, so we can close it off from the rest of the house and let it inhale outdoor air through the screen on the storm door.

Except in winter, when a glass pane covers the screen. Propping the door open just a bit is unattractive, because an open door seems like an invitation to any field mouse looking to upgrade its domicile.

Given that the dryer exhausts through a length of 4 inch flexible duct, I figured a similar vent, facing inward, mounted on the storm door would admit enough air to keep it happy. Keeping insects and adroit mice out requires a screen:

Dryer Inlet Vent - filter retainer
Dryer Inlet Vent – filter retainer

After taking that picture, I rammed four threaded brass inserts into the holes, thereby eliminating the need for a handful of washers and nuts, some of which were absolutely certain to disappear through gaps in the deck.

The two blue-gray rings are PETG-CF:

Dryer Inlet Vent Filter Retainer - solid model
Dryer Inlet Vent Filter Retainer – solid model

The small split makes the inner retainer just springy enough to fit over the two small tabs normally locking a dryer hose in place.

The OpenSCAD code gloms a few shapes together:

include <BOSL2/std.scad>

/* [Hidden] */

VentID = 102.0;     // diameter at base of vent opening
VentOD = 107.5;

OpenAngle = 3;

LipWidth = 3.0;         // lip around vent opening
LipThick = 7.5;

StrutWidth = 2.5;       // wide enough to hold filter
StrutThick = 3.0;       // tall enough to be rigid
NumStruts = 3;

Protrusion = 0.1;

NumSides = 360/6;

$fn=NumSides;

//----------
// Build it

union() {

    linear_extrude(LipThick)
        ring(NumSides,d1=VentID - 2*LipWidth,d2=VentID,angle=[OpenAngle/2,360-OpenAngle/2],spin=270);

    linear_extrude(StrutThick) {
        circle(r=StrutWidth);

        for (i=[0:(NumStruts-1)]) {
            a = 90 + i*360/NumStruts;
            zrot(a)
                right(VentID/4)
                    square([VentID/2 - LipWidth/2,StrutWidth],center=true);
        }
    }

    linear_extrude(LipThick)                // outside trim ring
        ring(NumSides,d1=VentOD,d2=VentOD+2*LipWidth);
}

The overall union() keeps PrusaSlicer from identifying the thing as a multi-material model. Apparently, it still looks enough like a logo to qualify for special treatment, but I fought it to a standstill.

Installation awaits an above-freezing day …