Archives

All posts for the month July, 2020

I just returned from a trip into the Boundary Waters Canoe Area Wilderness (BWCA) where we had good luck using my Platypus gravity water filter to easily produce safe water for drinking and cooking. When I return home from such a trip, I want to clean, disinfect, and dry out the bags and hoses to get them ready for the next expedition. I’ve often thought that it would be useful to have a source of high-volume, low-pressure airflow for drying out these sorts of things (also beer brewing equipment and hoses), but now I’ve finally found a good solution.

I realized that the little inflator for our air mattress would be a great source of airflow, and that I could probably 3D print a set of adapter nozzles for each type of hose I want to dry out. Here’s the first adapter, for my Platypus filter hoses.

The design is in Open SCAD, a free and open source parametric 3D modeling program that works great for simple geometric models. Once you install OpenSCAD you can copy/paste this code into OpenSCAD and build the model and export an STL. Hopefully you should be able to customize the sizes to adjust for a differently-size blower output or hose diameter:

// units = mm
$fn=64;

// blower output is 25mm diameter, 12mm along shaft
// platypus hose ID is 6mm but the filter barbs are 8.9mm, so... 7mm?

// Design intent:
// Build an outer union and subtract a similar but smaller inner union
// Each union is two cylinders connected by a sloping cylinder:
// AAAB
//     B
//      B
//       BCCC
//
//       BCCC
//      B
//     B
// AAAB

// Some variables to adjust the design
wide_ID = 25; // Wide end, inner diameter
wide_OD = 30; // Wide end, outer diameter
narrow_ID = 4; // Narrow end, inner diameter
narrow_OD = 7; // Narrow end, outer diameter
wide_h = 12; // Wide end height before angled part
angled_h = 12; // Angled part height
narrow_h = 6; // Narrow end height before angled part

difference() {
    // outer part
    union() {
        cylinder(h=wide_h,d=wide_OD);
        translate([0,0,wide_h])
            cylinder(h=angled_h,d1=wide_OD,d2=narrow_OD);
        translate([0,0,(wide_h + angled_h)])
            cylinder(h=narrow_h,d=narrow_OD);
    };

    // inner part to be subtracted
    union() {
        translate([0,0,-1])
            cylinder(h=(wide_h + 1),d=wide_ID);
        translate([0,0,wide_h])
            cylinder(h=angled_h,d1=wide_ID,d2=narrow_ID);
        translate([0,0,(wide_h + angled_h)])
            cylinder(h=(narrow_h + 1),d=narrow_ID);
    };
};

If you add a # before the union for the inner part to be subtracted, the OpenSCAD interface will show that component in translucent red:

Render the design (F6 key) and export to STL (F7 key), then slice and print.

You may need to adjust the parameters to obtain a perfect fit with your specific equipment.