Minimal Bathroom Set: Soap Dishes, Toothbrush Racks and Toilet Paper Holders, Interchangeable Mounts, No Supports

3MF · STL

Minimal Bathroom Set: Soap Dishes, Toothbrush Racks and Toilet Paper Holders, Interchangeable Mounts, No Supports

A quiet, Scandinavian-style set of bathroom organisers in PETG. Every item clicks onto four interchangeable mounts: screw, adhesive strip, suction cup and countertop stand. No supports needed.

License

  • Instant download after checkout
  • 3 downloads over 30 days, links by email
  • Digital files: all sales final. Licenses

About this design

A quiet, Scandinavian-style set of bathroom organisers: flat panels, soft 6 mm corner radii, thin shadow-line grooves and no visible fasteners. Every item hangs on the same small dovetail rail and clicks onto four interchangeable mounts: screw, adhesive strip, suction cup and countertop stand. Put any item on any mount. Designed for FDM printing in PETG with no supports.

57 parts, each as STL and 3MF in print orientation. One of everything is about 3.45 kg of PETG (3454 g, about 283 h of printing). You only print the pieces you need.

Print the fit coupon first (24 g, about 2 h). The socket should slide down onto the rail by hand, click softly over the small catch near the top, and lift off again with a firm, deliberate pull. A cardboard roll core should pass over the rod lip with a gentle push. If it is too tight or too loose, adjust flow or horizontal expansion before you print the large parts.

Mounts (shared plates):

  • Screw plate: 2 x #8 or M4 countersunk screws with wall plugs. Recommended for the toilet paper holders and heavy racks.
  • Adhesive plate: two 19 mm Command strips or VHB tape on smooth tile or glass. For soap dishes and toothbrush racks.
  • Suction plate: two 40 to 45 mm suction cups with mushroom studs. Light duty only: a small soap dish or a small rack. Not for toilet paper.
  • Countertop stand: freestanding, for toothbrush racks and the wall soap dishes.

Soap dishes:

  • Wall soap dish, small and large (hangs on any plate)
  • Counter soap dish, small and large
  • Removable slotted drain tray, small and large (fits the wall and counter dishes of the same size)

Toothbrush racks (21 variants, each with a removable drip cup):

  • The name gives the hole size and count: S = 16 mm, M = 22 mm, L = 27 mm, E = 38 mm (electric), P = toothpaste slot 48 x 30 mm.
  • S1 to S4, M1 to M4, L1 to L4 and E1 to E4 (1 to 4 holes of one size)
  • Combos with a toothpaste slot: M2P (2 x M), M3P (3 x M), E1P (1 x E), E2P (2 x E) and E1M2P (1 x E + 2 x M)

Toothbrush size guide (narrowest gap between handle and hole edge):

  • S 16 mm: kids manual 11 x 9 (2.5 mm), slim manual 14 x 11 (1.0 mm). Not standard manual 20 x 15 or larger.
  • M 22 mm: kids (5.5 mm), slim (4.0 mm), standard manual 20 x 15 (1.0 mm). Not chunky manual 25 x 19 or electrics.
  • L 27 mm: all manuals including chunky 25 x 19 (1.0 mm). Not electrics.
  • E 38 mm: Oral-B Pro 1000 (4.4 mm), Oral-B iO2 (2.9 mm), Sonicare 3100/5300/6500 (1.1 mm) and all manuals. Not Sonicare 2100.
  • P slot 48 x 30 mm: toothpaste tube (6.9 mm), everything above, and Sonicare 2100 (4.7 mm), which fits only the paste slot.

Gaps are computed from typical handle cross-sections; measure your own brush if it is unusual.

Toilet paper holders:

  • Standard roll (up to about 130 mm diameter), with or without a phone/wipes shelf
  • Mega roll (up to about 150 mm diameter), with or without a shelf

The rod is open on one side so you can change the roll with one hand. A small lip at the rod tip (2 mm high, 45 degree ramps both ways) stops the roll walking off. Use the screw plate for toilet paper holders.

Hardware:

  • Screw plate: 2 x #8 (about 4.2 mm) or M4 countersunk wood screws, 25 to 35 mm long, with wall plugs that suit your wall.
  • Adhesive plate: 2 x 19 mm wide Command strips (medium) or 19 mm VHB tape.
  • Suction plate: 2 x 40 to 45 mm suction cups with mushroom-head studs.

Assembly and mounting:

  1. Print the fit coupon and check the slide, the click and the roll lip.
  2. Print the plate for your surface. Clean the wall with isopropyl alcohol.
  3. Screw plate: hold the plate level with the rail on the front and the catch bump near the top, mark the two holes, drill, fit plugs, then screw it flush. Adhesive plate: apply the strips or VHB to the back, press on the wall for 30 s and wait 1 h (VHB: 24 h) before loading. Suction plate: press the two cups onto smooth tile or glass at the hole spacing, put the plate's large keyhole openings over the stud heads, then let the plate drop so the necks sit in the narrow slots.
  4. Hold the item above the plate and slide it straight down onto the rail until it stops. You should feel a soft click near the end as the anti-lift catch passes the bump. The item now hangs on the rail and does not lift off by accident.
  5. To remove an item, lift it straight up with a firm pull past the click.
  6. Toothbrush racks: drop the drip cup onto the bottom ledge. Soap dishes: put the drain tray in the tub. Lift both out to rinse.
  7. Counter stand: put the stand on a flat counter and hang a rack or a wall soap dish on it the same way.

Private use only unless you buy the Commercial Use license.

Print notes

- PETG, 0.4 mm nozzle, 0.2 mm layers, 3 perimeters, 15% gyroid infill, no supports, no brim. - Bridging on (the socket roof is an approximately 31 mm bridge). Elephant-foot compensation 0.2 mm recommended. - 3MF files are already in print orientation; STL files use the same orientation. - Print the fit coupon (coupon) first. - Sliced with PrusaSlicer 2.9.2 (PETG 1.27 g/cm3). Your printer's times will differ. Grams and time per part: - brush_E1: 82.9 g, 5h52 - brush_E1M2P: 165.6 g, 12h50 - brush_E1P: 120.6 g, 8h59 - brush_E2: 113.9 g, 8h31 - brush_E2P: 152.0 g, 11h41 - brush_E3: 145.6 g, 11h13 - brush_E4: 175.8 g, 13h56 - brush_L1: 71.2 g, 5h03 - brush_L2: 87.9 g, 6h34 - brush_L3: 109.8 g, 8h32 - brush_L4: 131.9 g, 10h32 - brush_M1: 66.1 g, 4h44 - brush_M2: 75.9 g, 5h44 - brush_M2P: 120.3 g, 9h19 - brush_M3: 94.6 g, 7h23 - brush_M3P: 141.3 g, 11h08 - brush_M4: 113.3 g, 9h04 - brush_S1: 59.7 g, 4h19 - brush_S2: 62.8 g, 4h45 - brush_S3: 77.1 g, 6h03 - brush_S4: 91.7 g, 7h23 - brushcup_114x42: 16.7 g, 1h28 - brushcup_114x58: 20.4 g, 1h49 - brushcup_122x36: 16.3 g, 1h23 - brushcup_124x58: 22.1 g, 1h59 - brushcup_129x47: 20.1 g, 1h46 - brushcup_140x50: 22.5 g, 2h02 - brushcup_146x42: 21.1 g, 1h51 - brushcup_162x58: 28.4 g, 2h35 - brushcup_166x47: 25.6 g, 2h16 - brushcup_172x50: 27.4 g, 2h26 - brushcup_172x58: 30.1 g, 2h44 - brushcup_188x58: 32.8 g, 3h01 - brushcup_210x58: 36.4 g, 3h20 - brushcup_64x36: 8.8 g, 0h45 - brushcup_64x42: 9.7 g, 0h50 - brushcup_64x47: 10.4 g, 0h53 - brushcup_66x58: 12.4 g, 1h05 - brushcup_70x36: 9.6 g, 0h48 - brushcup_82x42: 12.2 g, 1h04 - brushcup_92x47: 14.6 g, 1h16 - brushcup_96x36: 12.9 g, 1h07 - coupon: 24.1 g, 2h02 - plate_adhesive: 14.3 g, 1h16 - plate_screw: 13.4 g, 1h14 - plate_suction: 15.4 g, 1h22 - soap_counter_L: 32.4 g, 3h06 - soap_counter_S: 24.7 g, 2h19 - soap_tray_L: 37.1 g, 3h11 - soap_tray_S: 26.9 g, 2h23 - soap_wall_L: 77.5 g, 6h29 - soap_wall_S: 63.4 g, 5h22 - stand_counter: 60.7 g, 4h24 - tp_mega: 61.9 g, 4h37 - tp_mega_shelf: 143.7 g, 15h49 - tp_std: 59.1 g, 4h22 - tp_std_shelf: 129.2 g, 14h50 - Total, one of each: 3454.3 g, 282h51

Files

  • coupon.3mf3mf97 KB
  • coupon.stlstl437 KB
  • plate_adhesive.3mf3mf3.1 KB
  • plate_adhesive.stlstl12 KB
  • plate_screw.3mf3mf16 KB
  • plate_screw.stlstl74 KB
  • plate_suction.3mf3mf13 KB
  • plate_suction.stlstl58 KB
  • stand_counter.3mf3mf4.1 KB
  • stand_counter.stlstl18 KB
  • soap_counter_L.3mf3mf4.0 KB
  • soap_counter_L.stlstl18 KB
  • soap_counter_S.3mf3mf4.0 KB
  • soap_counter_S.stlstl18 KB
  • soap_tray_L.3mf3mf38 KB
  • soap_tray_L.stlstl203 KB
  • soap_tray_S.3mf3mf31 KB
  • soap_tray_S.stlstl164 KB
  • soap_wall_L.3mf3mf44 KB
  • soap_wall_L.stlstl229 KB
  • soap_wall_S.3mf3mf37 KB
  • soap_wall_S.stlstl190 KB
  • tp_mega.3mf3mf37 KB
  • tp_mega.stlstl188 KB
  • tp_mega_shelf.3mf3mf56 KB
  • tp_mega_shelf.stlstl289 KB
  • tp_std.3mf3mf37 KB
  • tp_std.stlstl188 KB
  • tp_std_shelf.3mf3mf56 KB
  • tp_std_shelf.stlstl288 KB
  • brush_E1.3mf3mf16 KB
  • brush_E1.stlstl83 KB
  • brush_E1M2P.3mf3mf38 KB
  • brush_E1M2P.stlstl213 KB
  • brush_E1P.3mf3mf31 KB
  • brush_E1P.stlstl166 KB
  • brush_E2.3mf3mf26 KB
  • brush_E2.stlstl143 KB
  • brush_E2P.3mf3mf41 KB
  • brush_E2P.stlstl224 KB
  • brush_E3.3mf3mf36 KB
  • brush_E3.stlstl202 KB
  • brush_E4.3mf3mf37 KB
  • brush_E4.stlstl216 KB
  • brush_L1.3mf3mf16 KB
  • brush_L1.stlstl83 KB
  • brush_L2.3mf3mf22 KB
  • brush_L2.stlstl120 KB
  • brush_L3.3mf3mf30 KB
  • brush_L3.stlstl164 KB
  • brush_L4.3mf3mf45 KB
  • brush_L4.stlstl214 KB
  • brush_M1.3mf3mf16 KB
  • brush_M1.stlstl83 KB
  • brush_M2.3mf3mf19 KB
  • brush_M2.stlstl105 KB
  • brush_M2P.3mf3mf36 KB
  • brush_M2P.stlstl194 KB
  • brush_M3.3mf3mf27 KB
  • brush_M3.stlstl149 KB
  • brush_M3P.3mf3mf42 KB
  • brush_M3P.stlstl230 KB
  • brush_M4.3mf3mf35 KB
  • brush_M4.stlstl193 KB
  • brush_S1.3mf3mf16 KB
  • brush_S1.stlstl83 KB
  • brush_S2.3mf3mf18 KB
  • brush_S2.stlstl96 KB
  • brush_S3.3mf3mf23 KB
  • brush_S3.stlstl126 KB
  • brush_S4.3mf3mf30 KB
  • brush_S4.stlstl162 KB
  • brushcup_114x42.3mf3mf4.5 KB
  • brushcup_114x42.stlstl21 KB
  • brushcup_114x58.3mf3mf4.5 KB
  • brushcup_114x58.stlstl21 KB
  • brushcup_122x36.3mf3mf4.5 KB
  • brushcup_122x36.stlstl21 KB
  • brushcup_124x58.3mf3mf4.5 KB
  • brushcup_124x58.stlstl21 KB
  • brushcup_129x47.3mf3mf4.5 KB
  • brushcup_129x47.stlstl21 KB
  • brushcup_140x50.3mf3mf4.5 KB
  • brushcup_140x50.stlstl21 KB
  • brushcup_146x42.3mf3mf4.5 KB
  • brushcup_146x42.stlstl21 KB
  • brushcup_162x58.3mf3mf4.5 KB
  • brushcup_162x58.stlstl21 KB
  • brushcup_166x47.3mf3mf4.5 KB
  • brushcup_166x47.stlstl21 KB
  • brushcup_172x50.3mf3mf4.5 KB
  • brushcup_172x50.stlstl21 KB
  • brushcup_172x58.3mf3mf4.5 KB
  • brushcup_172x58.stlstl21 KB
  • brushcup_188x58.3mf3mf4.5 KB
  • brushcup_188x58.stlstl21 KB
  • brushcup_210x58.3mf3mf4.5 KB
  • brushcup_210x58.stlstl21 KB
  • brushcup_64x36.3mf3mf4.5 KB
  • brushcup_64x36.stlstl21 KB
  • brushcup_64x42.3mf3mf4.5 KB
  • brushcup_64x42.stlstl21 KB
  • brushcup_64x47.3mf3mf4.5 KB
  • brushcup_64x47.stlstl21 KB
  • brushcup_66x58.3mf3mf4.4 KB
  • brushcup_66x58.stlstl21 KB
  • brushcup_70x36.3mf3mf4.5 KB
  • brushcup_70x36.stlstl21 KB
  • brushcup_82x42.3mf3mf4.5 KB
  • brushcup_82x42.stlstl21 KB
  • brushcup_92x47.3mf3mf4.5 KB
  • brushcup_92x47.stlstl21 KB
  • brushcup_96x36.3mf3mf4.5 KB
  • brushcup_96x36.stlstl21 KB