Underware: storage beneath the surface
Look under your workbench and you will find the most wasted space in the workshop: a flat, reachable slab of board, right at hand height and completely empty. Things pile up on top; underneath, nothing. Underware is the idea of reclaiming that void: mounting rails on the underside of a table or shelf and hanging carts, trays and cable clips from them. The challenge is not fitting it all in — there is room to spare. The challenge is that everything you hang works against gravity in the worst possible way: it pulls on screws biting into the face of the board. Worse, the parts you print to hold it all have their weakest plane — the bond between layers — lying straight across the load. This article is about designing so that it holds.
The face nobody uses
The principle is simple: the underside of a table, a shelf or a wall-hung cabinet is a structural surface that is already there, already anchored, and that nobody uses. Underware turns it into storage by mounting a rail system that accessories slide onto or clip into: carts with drawers, open trays, hooks and clips to route cables out of sight.
Its appeal for FDM is that the rail is an extruded strip of constant cross-section: you print it as long as you need, screw it to the board, and you have a repeatable interface for everything else to latch onto. The accessory never touches the wood; it touches the rail. That means you can reorganise, add or move a cart without drilling again, and a single rail profile serves an entire family of parts.
The difference from wall or benchtop storage is not a minor difference. On a wall, the load hangs from a hook and gravity keeps it seated against the surface. Upside down, gravity does exactly the opposite: it tries to pull the part away from the table. The whole design turns on that change of sign.
The physics of hanging upside down
When you mount something on a vertical wall, the weight runs parallel to the surface and the screws work mostly in shear: the part tends to slide downwards and the screw shank resists that slide. It is the comfortable mode, because a screw is enormously strong in shear.
Upside down, the split changes, and it pays to be precise about which part takes which load. The screws go in vertically and the weight hangs vertically, so they see almost pure axial tension: not shear, as on the wall, but pull-out. What works in shear and bending is the rail's retaining lip, which holds the cart against the table. And pull-out is the dangerous one. A screw driven into the edge or face of a board holds poorly in tension: the thread tears through the wood fibres and pulls free. All it takes is for the load to hang offset from the line of screws, and a lever arm appears: the weight, acting a few centimetres from the anchor, multiplies the pull-out force on the screws on the side it overhangs. A loaded cart that sticks out does exactly that: it levers over the edge of the rail and pulls those screws downwards.
Two design rules follow from this — rules, not preferences:
- Concentrate the fixings where the load hangs. A rail printed in PLA is flexible, and a cart is a point load: the two or three screws nearest the cart take almost all the pull-out, while the distant ones barely work. Uniform spacing "every few centimetres" only holds if the rail is rigid or the load is spread along its length. Put screws where each accessory will actually hang, not on a blind grid.
- Keep the lever arm short. The closer to the board the load hangs, the smaller the moment levering on the screws. A cart that drops 40 mm and then spreads the weight sideways is far kinder to the anchor than one that projects the load 150 mm outwards.
The cart interface: lead-in, retention and end stop
The accessory joins the rail by sliding in from one end, or by dropping into a channel where a tab that wraps the profile holds it. Whichever variant you choose, three details decide whether the interface is a pleasure to use or a fight.
Lead-in. The mouth of the channel should be chamfered or flared, not square. A chamfer of a couple of millimetres guides the cart's tab inwards even when you do not present it perfectly aligned. Without that lead-in, the cart snags on the sharp edge and you have to hunt for the exact angle blind — awkward when you are working upside down and cannot see the slot.
Retention. Once inside, something has to stop the cart dropping under its own weight. Usually it is the profile itself: a T-shaped or dovetail section in which the cart's tab is trapped beneath the rail's lip, so that gravity seats it against the catch instead of releasing it. The geometry does the work; do not rely on friction alone.
End stop. A channel open at both ends lets the cart run off the opposite side to the one it entered. Fit a stop — a shoulder, a screw, a clip — at the end of travel. Without it, a loaded cart that slides to the end drops to the floor.
Orient the mating parts along the layers
This is where FDM dictates the terms. A printed part is not isotropic: the bond between layers is its weak point, with rather less strength than the material within a single layer. A load pulling along the beads exploits the full strength of continuous filament; a load pulling perpendicular to the layers tries to peel them apart, and that is where the part splits — often with no warning.
In a hanging cart, the load goes down. You have to orient the part on the bed so that stress runs along the layers rather than across them: the hook or tab that wraps the rail should be printed so that the layer lines run in the direction of the load, not across it. Think it through before slicing, because the orientation that gives the best finish is almost never the strongest, and here strength wins.
And do not forget the other half of the interface. The rail's retaining lip — the one that forms the T or the dovetail — carries the same load in shear and bending as the cart's hook, and is just as prone to delaminating. Worse: a long rail is printed lying along the bed, an orientation in which that lip ends up loaded across its layers for its whole length. Treat the strength of the rail lip with the same care as the hook's, not just its clearance.
The critical point of each part is the root of the catch: the elbow where the tab or lip meets the body. A square interior angle concentrates all the stress on that line, which in FDM usually coincides with a joint between layers: the perfect place for a crack to start. Thicken that root with a small fillet. The radius spreads the stress over more material instead of driving it into an edge, and greatly raises the load the part carries before it breaks. You do not need a large fillet; a radius of 1.5–3 mm at the root already changes the failure mode.
Sliding clearance: measure one coupon, don't reprint ten
The cart has to slide smoothly over the rail, and there it runs into FDM's usual bias: printed channels come out narrow. The bead grows towards the inside of the slot, first-layer squish closes the bottom, and shrinkage on cooling narrows the opening. A channel modelled to the exact size of the rail comes out tight and scrapes; modelled with zero clearance, it will not go on.
As always in FDM, work per side. If you want the cart to run smoothly over the rail without wobbling, you need on the order of 0.15–0.25 mm of clearance per side between the cart tab and the rail channel in PLA at normal quality: the "turns or slides freely" range, because here the priority is that it does not seize. That is 0.3–0.5 mm of clearance across the full width of the fit. With PETG, which oozes more and prints slightly oversize, add another 0.05–0.10 mm per side. There is a trade-off to manage: the more clearance you give, the smoother it slides, but the more the cart rocks under load, and that rocking lengthens the lever arm and concentrates stress at the root of the hook. Stay at the low end of the range if the load is appreciable. The physical reason behind these numbers — and why the bias always pulls towards the tight side — is in Real printed clearances. Which fit family to choose, here a sliding clearance rather than a locating one, is in Choosing the fit: clearance, transition, interference.
Orientation bites again. A channel printed lying on the bed comes out with a different cross-section from one printed upright: the vertical walls of the channel squish differently from those left overhanging, and a retaining lip that hangs unsupported droops and loses its dimension. The clearance you measure in one orientation does not hold for the other. Print the test coupon in the same orientation you will print the real cart.
Hence the rule that saves you an afternoon: print a short coupon first — a few centimetres of rail and a single cart tab — and check by hand how it slides before you launch the batch. Tune the clearance once on the coupon and, only then, print all ten carts with the number you already know works. Reprinting a five-minute coupon is cheap; reprinting ten carts that rub is not.
The numbers belong to the project, not to me
One last caveat. Underware is a community 3D-printing system, not an industrial standard with a normalised, published dimension sheet like that of a commercial aluminium extrusion. The screw pitch, the exact rail cross-section and the specific profile of the retaining tab are defined by the project and its models, and can change between versions. I am not going to hand you a table of rail dimensions in false precision, because any "official" figure I invented would age badly and have you printing parts that do not fit the ones you already own.
What is solid is the reasoning from geometry: that is what this article has given you, and what the table sums up.
| Parameter | How to set it | Why |
|---|---|---|
| Rail fixing | Concentrate screws where each cart hangs | The rail flexes; the nearby screws take almost all the pull-out |
| Screw head on the rail | Wide washer, solid countersink or insert | Prevents pull-through: the head tears the layers under load |
| Load lever arm | As short and close to the board as possible | Reduces the moment that pulls out the screws |
| Accessory material | PETG, ASA or nylon; avoid PLA | PLA creeps cold under sustained load and gives way |
| Print orientation (hook and lip) | Load along the layers | Interlayer bond is the weak point; don't pull perpendicular |
| Fillet at the root of the catch | 1.5–3 mm radius | Spreads stress instead of driving it into the layer joint |
| Cart–rail sliding clearance | 0.15–0.25 mm/side in PLA (+0.05–0.10 in PETG) | The printed channel shrinks; without clearance it scrapes or won't go on |
| Lead-in | ~2 mm chamfer at the mouth | Guides the blind entry when working upside down |
| End stop | Always present | A loaded cart with no stop runs off and falls |
| Validation | Fracture test (2–3×) and sustained-load test | Fracture doesn't see creep; creep is the real failure |
For the exact rail profile and the mating dimensions, go to the Underware project's own documentation and take the section from there; then apply the per-side clearance you measured on your coupon. With that you have both halves of the problem solved: the official geometry of the interface and the specific margin of your printer. If you want the same "grid printed to fit" approach applied to storage on top of the table rather than under it, the full treatment is in Gridfinity: the 42 mm grid built to fit.