docs / features / Revolve
Revolve
Status: Implemented

Revolve sweeps a closed planar profile about an axis to create lathe-style solids.
Walkthrough

Recorded from the running app by BREP_mcp/tests/videos/revolve.json; regenerate every walkthrough with ./build.sh docs-videos.
Inputs
id(string, defaultnull) – optional identifier for the history entry.profile(reference_selection,SKETCH/FACE, defaultnull,multiple: false) – a sketch profile or resident solid face.consumeProfileSketch(boolean, defaulttrue) – removes the source sketch after a successful revolve. A face profile is never consumed.axis(reference_selection,EDGE, defaultnull,multiple: false) – a sketch construction/model line or resident solid edge.angle(number, default360) – signed revolution angle in degrees; see below.boolean(boolean_operation, default operationNONEwith no targets andmergeCoplanarFaces: true) – optional union / subtract / intersect against other solids.
Behaviour
- A positive angle starts the sweep toward the profile plane's front (+Z) side, the way the editor's angle widget draws its arc, whichever way the axis line was drawn — so the arc you see and the solid you get agree.
- The angle's magnitude is clamped to 360° with a small positive floor; a negative angle sweeps the other way.
- Each profile region revolves about the same oriented axis into its own solid; a region's holes revolve through the same sweep into cutters that are subtracted, and the region solids union into one result.
- Face naming: side face
iis{edgeName}_RV, taken from the outer loop's edge names. A partial revolution also emits caps,{id}:L{loopId}_STARTand_END, one pair per region keyed by that region's outer loop identity, so a cap name never moves when a different loop is edited. The un-keyed{id}_START/_ENDstands for all of them. A hole's walls take the hole loop's own{edgeName}_RVnames; any cutter face left unnamed is stamped{id}:HOLE:L{loopId}. - The optional boolean runs after the solid is built; consumed operands are removed.
Limitations
- A hole that touches or crosses the axis is refused.
- The profile must be closed and lie in a half-plane through the axis.