Konubinix' opinionated web of thoughts

Print a Protection for a Cylinder Glass Bottle (Toothpaste)

Fleeting

Using cadquery

Let’s first construct the shape of the bottle.

def bottle(w, height, radius):
    return w.cylinder(height=height, radius=radius).faces('-Z').fillet(3)

Then, let’s create the hull of its enclosure, which is the same cylinder, but with adding some thickness

def hull(w, height, radius, thickness):
    return w.cylinder(height=height, radius=(radius + thickness)).fillet(3)

Then lets make in the hull a hole with the shape of the bottle, translating it to make room for some thickness in the bottom.

def enclosure(w, height, radius, thickness, bottom_thickness):
    return hull(w, height, radius, thickness).cut(bottle(w, height, radius).translate((0, 0, bottom_thickness)))

Now, the bottle that I am dealing with has the following characteristics

radius
24mm
height
84mm

Also, I would like walls big enough, but not too big.

thickness
1mm
bottom_thickness
1mm

Therefore, the final model is.

()

The seam is very visible, but the result is anyway very good.

After a fall, the protection broke, but the bottle is still intact. I think I might want to print a thicker hull, with few infill, to protect the bottle even more.

Also, let’s add a small hole at the bottom to make it easier to install.

()

After another fall, the new protection broke, so I printed yet another one, with PLA PREMIUM WANHAO BOIS WOOD 500G/1KG.

It looks much stronger, I don’t know if it is because it is the wood filament or not. Also, it was very hard to make the bottle fit in it. Maybe next time I will try making it half a millimeter bigger.

Notes linking here