Parametric two-part towel hook (OpenSCAD file available, all dimensions in mm). The base sticks to the wall with 3M double-sided foam tape hidden in a recessed pocket; the cap slides over the base's post to hide it completely — no fasteners needed. Fully adjustable sizing, laid out ready to print with minimal / no supports. Recommend genuine 3M foam tape for a solid hold, and PETG/ABS over PLA if it'll carry wet towels.
Supports are unnecessary unless you want a perfect finish in the tape pocket - a rough finish may actually be better for adhesion…
Parameters Setup
Base (wall plate)
- base_od — how wide the wall plate is.
- base_skirt_h — how thick the wall plate is.
- tape_thickness — how thick your tape is. Tells the design how deep to cut the pocket so the tape hides inside it. [Using 3M foam tape, I found 0.6mm was sufficient to also be able to push the model onto the wall.]
- tape_pocket_od — how wide that hidden tape pocket is. Keep it smaller than base_od, or there won't be enough rim left to hold the tape.
- post_dia — how thick the little peg is that the cap slides onto.
- post_length — how far that peg sticks out from the wall plate.
- post_chamfer — a small angled edge on the tip of the peg, just to make it easier to slide the cap on.
Cap (the part you actually see and hang things on)
- post_clearance — a tiny bit of extra wiggle room between the peg and the cap. Make this bigger if the two pieces come out too tight to fit together. [I printed with 0mm clearance for a press fit.]
- cap_wall_thickness — how thick the cap's walls are around the peg. Thicker = sturdier.
- cap_bore_depth — how deep the hole in the cap goes (fills in automatically so it's always deep enough — no need to touch this).
- hook_stem_length — how far the hook sticks out from the wall.
- head_dia — how big the round end piece is — this is what your towel actually hangs on.
- head_thickness — how thick that end piece is.
Printing layout
- part_gap — how much space to leave between the two pieces when laid out on the print plate.
- show_assembled — turn on to preview the two pieces snapped together (just for checking fit), [IMPORTANT: turn off before saving for printing - otherwise parts won't separate!]