Konubinix' site

Pipe Sleeve to Adapt a Pool Pump Tank

Fleeting

tag: learning 3D printing

The tank of my pool pump broke. I bought a new one but then realized it was bigger than the original one. The rigid pipe that is inside is too small to bring water to the pump.

Investigating the pump and the pipe, I find out that it should work if I extended it with a sleeve with those dimensions.

height
80mm,
inner diameter
51mm,
outer diameter
55mm,

This sleeve should contain an overlapping part to make the extension and the original pipe fit together, like shown in the following drawing.

Let’s consider that the overlapping part is covering the extension over 20mm and the original over 30mm.

The part into the original pipe should have an inner diameter slightly greater than the outer diameter of the pipe.

Therefore, let’s use the following characteristics.

length
30mm
inner_diameter
56mm,
outer_diameter
60mm,

And the part that covers the printed extension should be merged with it, therefore, it should have the exact same inner diameter.

length
20mm,
inner_diameter
51mm,
outer_diameter
60mm,

In other words, we actually want to merge 3 consecutive pipes of slightly different characteristics:

  1. the extension without the overlapping part:
    • height: 60mm,
    • inner diameter: 51mm,
    • outer diameter: 55mm,
  2. the overlapping part that covers the extension:
    • height: 20mm,
    • inner diameter: 51mm,
    • outer diameter: 60mm,
  3. the overlapping part that covers the original pipe:
    • height: 30mm,
    • inner diameter: 56mm,
    • outer diameter: 60mm,

Let’s write this in cadquery

import cadquery as cq
w = cq.Workplane("XY")

def pipe(w, height, inner_diameter, outer_diameter):
    return w.cylinder(height=height, radius=outer_diameter/2, centered=(True, True, False)).cut(w.cylinder(height=height, radius=inner_diameter/2, centered=(True, True, False)))


extension = pipe(w, 60, 51, 55)
overlap1 = pipe(extension.faces('+Z').workplane(), 20, 51, 60)
overlap2 = pipe(overlap1.faces('+Z').workplane(), 30, 56, 60)

cq.exporters.export(
    extension.union(overlap1).union(overlap2),
    out,
)
return out

()

It uses a bit of support. I wonder if I could have avoided that.

From this experience, I assume that the wood PLA is stronger than the other ones.

Also, I print it using 90% infill, with a 0.6mm nozzle and the fine preset.

During the print, thanks to the pause/resume feature of the printer, I could check that the dimensions where correct

Here is the final result

There is some stringing, because I forgot that the wood filament needs a lower temperature.

I could not take picture of the sleeve once mounted because I was not the one doing it, but I was told that it worked like a charm.

Now, I can just hope that it will resist chlorinated water…