kapy academy

Ribs, gussets and fillets

9 min readUpdated Jun 2026

A part flexes more than it should and the instinct is to make it thicker. In FDM that's almost always the wrong call: a thick wall burns filament, takes forever, and adds infill and perimeters the part doesn't need — all for little return. What actually beats bending isn't mass — it's shape. A rib set on edge, a gusset that triangulates a corner, a fillet that spreads the stress — these give you the stiffness you're after for a fraction of the plastic. Walls and perimeters carry the load — Walls, perimeters and infill lays that out — and these three details put that load-bearing material exactly where the part needs it.

A rib works by depth, not thickness

A flat panel bends like a sheet of cardboard. Run a thin rib across it on edge and it gets dramatically stiffer — because of how depth enters the math. The bending stiffness of a section grows with the cube of its depth: triple a rib's depth and you don't get three times the stiffness, you get twenty-seven. Wall thickness, by contrast, enters only linearly.

That asymmetry is the whole point. Thickening a panel from 2 to 4 mm doubles the material and doubles the stiffness. Leaving it at 2 mm and adding a generous rib does the opposite: very little extra plastic, and the stiffness multiplies — because the work against bending happens far from the neutral plane. That's why a tall, thin rib always beats a thick wall: the material sits exactly where it works.

A rib adds stiffness, not raw strength: it pays off only as long as the wall it joins doesn't give way. That's why a rib rising from a flimsy wall just drags that wall along as it flexes. The rib supplies the depth; the wall has to carry it.

A rib is sized in whole perimeters

The temptation is obvious: if depth pays off this well, why not thicken the rib so it carries more? Because in FDM a thick rib doesn't print solid. The slicer fills it with full perimeters on each side; if the thickness doesn't match a whole number of beads, you're left with a core too thin to fit another perimeter and too wide to close, and there the slicer fills it with sparse infill that carries almost no load. You gain volume, not stiffness.

That's why rib thickness is reasoned in beads, not in millimeters chosen by eye. With a 0.4 mm nozzle and a ~0.4 mm bead, the thicknesses that come out solid are ~0.8 mm (two perimeters) or ~1.2 mm (three perimeters): two walls that meet in the middle — continuous plastic, side to side. Make the rib equal to a whole multiple of the bead width and it prints solid; set it at an in-between size and you leave the core hollow. Thin and whole works; thick and guessed only adds bulk and stays hollow.

There's a second reason — minor in FDM, though real (it dominates in molding): a buildup of material at the rib-wall junction cools more slowly than the thin wall around it and, as it contracts, it can slightly pull in the opposite face — a sink mark. On a part printed filament by filament the effect is small, but a rib already sized to a whole two or three perimeters avoids it anyway: it doesn't pile up extra material at the root.

Rules of thumb for ribs (0.4 mm nozzle, PLA)
Dimension Guideline Why
Rib thickness Whole multiple of the bead width: ~0.8 or ~1.2 mm Prints solid, no poorly filled hollow core
Slenderness (depth / thickness) Up to ~3–5; beyond that, brace them with cross-ribs A very tall, thin rib buckles sideways under load
Spacing between ribs ~3–5× the wall thickness Spreads the load instead of concentrating it
Orientation Rib in the layer plane or near vertical Avoids overhangs > 45° and load in the weak Z direction

Mind how the layers stack

There's a trap no stiffness calculation will catch, because the math assumes an isotropic material — and an FDM part isn't isotropic. The bond between layers runs around 40–80% of the strength the material has along the bead, so the part is strong within a layer and weak between layers — that is, along the Z axis.

This decides whether a rib or a gusset does its job or peels away. A rib loads the rib-wall junction in tension; if that junction sits in a layer plane, the load pulls the layers apart and the reinforcement delaminates well before the triangle geometry would predict. The geometric rule — triangulate and stiffen — is correct, but incomplete without the other half: orient the part so the critical load doesn't fall in the Z direction. And a rib jutting out as an overhang needs to stay within about 45° of vertical, or it'll call for support. The most elegant reinforcement is worth nothing if the layers run the same way the load pulls.

A gusset triangulates corners and overhangs

Where two faces meet at an angle and one of them takes load — an L-bracket, the lip of a shelf, the base of a hook, an overhang — the junction is the weak point. Under load, the corner tends to open like a hinge: the two faces rotate relative to each other about the edge that joins them.

A gusset (a triangular web that bridges the inside corner) stops this by triangulating the junction. A triangle can't deform without changing the length of its sides, so the gusset ties the two faces together and turns an angle that was opening into a rigid structure. It's the same principle as the diagonal brace of a bookshelf or the reinforcement of a metal bracket: you stiffen a rectangle by dropping a diagonal into it.

Keep the gusset the same thickness as the walls, so it prints as solid perimeters. Run it about two-thirds of the way along each face: that captures most of the bending load, and extending it further adds little. And, as with ribs, on a wide corner spread the reinforcement out: two or three gussets along it beat a single tall one in the middle.

3D
A rib and a corner gusset stiffen a bracket without resorting to thick walls.

A fillet spreads the stress that a corner concentrates

One last detail doesn't add stiffness, but it keeps the part from breaking: fillet the inside corners. A sharp inside corner — a re-entrant corner of zero radius — is a stress concentrator. The load running through the part, instead of spreading evenly, concentrates at that point: the local stress spikes well above the average, and that's where the crack starts, whether or not a layer line happens to line up with it.

Round that corner and you give the stress somewhere to flow. The load follows the curve instead of jamming into a vertex, the local peak drops, and the crack-initiation point disappears. It's one of the cheapest strength improvements you can make: on an XY-plane corner it costs neither a gram nor a second of print time, and it often raises the breaking load markedly — on the order of double, though the exact figure depends on the geometry and on which way the layers run.

And it connects to all of the above: right where a rib or a gusset drives into a wall you have a sharp inside corner, exactly at the root that works hardest. Adding the rib reinforces the part and, in the same stroke, introduces a stress concentrator at its base. Round that junction too, or the reinforcement itself becomes the crack-initiation point. One caveat: a concave fillet at a rib's root prints cleanly only in certain orientations — depending on its orientation to the bed, it can print as a stepped overhang or need support — so check that the root falls in an orientation where the radius actually prints.

  • Inside (re-entrant) corners: always round them. A radius of 1–2 mm is enough to neutralize a crack-prone notch. The root of every rib and every gusset counts as an inside corner.
  • Outside corners: a small chamfer or fillet helps with printing — a cleaner first layer, less elephant's foot — but it matters far less for strength. The concentrator lives in the inside corner, not on the outer edge.

Put the three together and you stiffen a part without reaching for more thickness: ribs that beat bending by their depth, gussets that triangulate corners so they don't open, and fillets that spread the stress where it would otherwise pile up. Thin material, well placed and well oriented, outperforms thick material on any FDM machine. Once you have the walls in place, the next step is to remove the plastic that carries no load, as Lightweighting explains.

Discord