Sleeve to Connect Mymuesly Boxes
FleetingAfter pipe sleeve to adapt a pool pump tank
I want a sleeve that connects tube of
- outer diameter
- 92
- inner diameter
- 90
It is a bit harder, because I want a part going inside a tub and a part going outside the other tube. Simply designing cylinders makes support difficult. I need to add a coned pipe to make the transition.
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)))
def cone(w, height, inner_diameter, outer_diameter):
cone = cq.Solid.makeCone(inner_diameter/2, outer_diameter/2, height)
return w.eachpoint(lambda loc: cone.moved(loc), combine=False, clean=True)
def conepipe(w, height, inner_diameter1, outer_diameter1, inner_diameter2, outer_diameter2):
assert(outer_diameter1 > inner_diameter1 and outer_diameter2 > inner_diameter2)
return cone(w, height, outer_diameter1, outer_diameter2).cut(cone(w, height, inner_diameter1, inner_diameter2))
outer_diameter = 91
inner_diameter = 91
inside_shift = 0
outside_shift = 1
inside_width = 2
outside_width = 2
inside_length = 10
outside_length = 10
middle_length = 3
outside_part = pipe(w, outside_length, outer_diameter + outside_shift, outer_diameter + outside_shift + outside_width)
middle_part = conepipe(outside_part.faces('+Z').workplane(), middle_length, outer_diameter + outside_shift, outer_diameter + outside_shift + outside_width, inner_diameter - inside_shift - inside_width, inner_diameter - inside_shift)
inside_part = pipe(middle_part.faces('+Z').workplane(), inside_length, inner_diameter - inside_shift - inside_width, inner_diameter - inside_shift)
result = outside_part.union(middle_part).union(inside_part)
#result = pipe2(10, 20,40,2)
cq.exporters.export(
result,
out,
)
return out
Works pretty well in 0.8mm, vase mode.
After that, I discovered https://www.iteration3d.fr/en/ that definitely is worth trying.