docs / features / Rib

Rib

Rib feature dialog

Status: Implemented

Rib thickens an open sketch polyline into a slab and unions that slab into a target solid — the usual way to add a stiffening web between a wall and a floor without modelling it as a separate body and a Boolean.

Walkthrough

Rib walkthrough

Recorded from the running app by BREP_mcp/tests/videos/rib.json; regenerate every walkthrough with ./build.sh docs-videos.

Inputs

There is no depth: see Up To Next below. A depth left in a saved document is ignored.

Behaviour

The two extrusion directions, and why they are not interchangeable

The two follow SolidWorks' Rib.

The two swap which axis carries the thickness and which carries the growth, so the wrong one does not tilt a rib slightly: it lays down the fin that should stand up.

The profile plane

For a SKETCH profile the plane is the one it was drawn on, so a single straight segment is a good rib profile. A solid EDGE publishes no plane, so the plane is derived from the chain's own bends.

Which side the material goes

NORMAL and -NORMAL force the ± side of the axis the extrusion direction chose. AUTO grows the rib toward the part: for a parallel rib it marches out from points along the chain and takes the side that actually meets material, so it does not aim a rib out through the open face of a shelled box.

Up To Next

A rib has one end condition, as in SolidWorks: the material grows until it lands on the part, and the feature fails if any part of the rib meets nothing. The rib's far end is the part's own faces, whatever shape they are.

The fuse

The rib is unioned into the target and replaces it under the target's existing name, so every face of the target the rib does not touch keeps its name.

Face names

Every face the rib makes is named from the rib's id and its sketch, so the names survive rebuilds, rollbacks and upstream edits. Below, {id} is the rib's id (RIB6) and {segment} is the sketch segment the face was built from, spelled the way the sketch names it (S5:G10) — picking the whole sketch or one of its segments gives the same names.

FaceParallel to SketchNormal to Sketch
The rib's two walls{id}:A and {id}:B{id}:{segment}_A and {id}:{segment}_B, per segment
The rib's top, along the sketch{id}:{segment}_TOP, per segment{id}:TOP
The rib's ends, at the chain's first and last point{id}:START, {id}:END{id}:START, {id}:END

A and B are the rib's two sides, and they follow the sketch plane's own normal, not the order the segments were drawn in. For a Parallel to Sketch rib, {id}:A is the wall on the side the sketch normal points away from and {id}:B the wall on the side it points toward. For a Normal to Sketch rib, looking down at the sketch from the side its normal points to, _B is the wall on the left of the chain as it runs from its first point to its last and _A the wall on its right. An end or a wall that lands inside the part has no face and so no name.

When the rib cuts a face of the part in two (a rib across a floor splits the floor), the piece on the rib's A side keeps the face's name and the piece on its B side is named after the rib: Floor stays Floor, and the other piece is {id}:Floor_B1. Precisely: the pieces are taken A side first, then any piece straddling the rib's middle, then the B side, each side in order along the rib from its first point; the first piece keeps the name, and every other piece is {id}:Floor_ plus its side letter and its place in that side's count, the kept piece included. So a second A-side piece is _A2, a straddling piece _M1, and if every piece is on the B side the first keeps Floor and the next is _B2. Which piece keeps the name depends only on where the pieces are relative to the rib — never on which is larger, so moving a hole from one half of the floor to the other renames nothing.

Edge names follow from the face names (Floor|{id}:A[0] where the rib's A wall meets the floor).

Limitations

Where to find it

Offered in the Modeling and All workbenches. Type code RIB.