Skip to main content

Command Palette

Search for a command to run...

Solid Modeling Kernels: Boolean, Extrude, Revolve and Sweep Operations

Updated
•4 min read•View as Markdown
C
Technical articles about geometric modeling, CAD kernels, B-Rep, 3D geometry, and engineering software development. Exploring the technologies behind CAD, CAM, CAE, and BIM applications.

Many of the commands that define everyday 3D CAD workflows are built from a relatively small set of modeling operations. Extrusion turns a planar profile into a body, revolution creates rotational geometry, sweeping moves a section along a path, and Boolean operations combine or remove volumes. For application developers, the interesting part is not the command itself but what the modeling system must calculate to produce a valid result.

Extrusion: From Profile to Body

An extrusion typically starts with planar geometry such as a closed sketch composed of lines, arcs or spline curves. The profile is translated along a specified direction to generate side surfaces.

The modeling system must then construct the complete boundary of the new object. The original profile can define one end face, a translated copy defines the other, and the generated surfaces connect them.

In a B-Rep representation, this process creates not only surfaces but also faces, edges, vertices and their topological relationships. An invalid or self-intersecting source profile can therefore prevent the operation from producing a meaningful solid.

Extrusion is widely used because many mechanical features can be reduced to this pattern, including pads, pockets, bosses and prismatic cuts.

Revolve: Geometry Around an Axis

A revolve operation generates geometry by rotating a profile around an axis.

Rotating a line parallel to the axis can produce cylindrical geometry, while other profile segments may generate conical, toroidal or more general surfaces depending on their position and shape.

The selected rotation angle affects the topology. A full revolution may produce a closed rotational body, whereas a partial revolution requires additional boundary faces.

Developers also need to consider cases where the profile crosses the rotation axis or produces self-intersecting geometry. Such inputs can create ambiguous or degenerate results.

Sweep: Following a Spatial Path

Sweep operations are more general because the source section moves along a curve rather than a single linear direction or rotational path.

The main challenge is determining the orientation of the profile as it travels. Different orientation rules can produce substantially different geometry from the same section and trajectory.

A geometric kernel handles underlying calculations involving curves, surfaces and intersections, while a geometric modeling kernel coordinates these calculations with creation and modification of model topology.

Sweeps are useful for objects such as pipes, structural members, channels and other components whose cross-section follows a defined trajectory. More advanced implementations may also support changing section size or orientation along the path.

Boolean Operations: Combining Existing Bodies

Boolean operations work on already constructed bodies. The three common forms are union, subtraction and intersection.

Their implementation is considerably more involved than simply deciding whether volumes overlap. When two B-Rep bodies intersect, the modeling system identifies intersecting faces, calculates intersection curves and splits affected regions.

The resulting pieces must then be classified. For subtraction, portions belonging to the removed volume are discarded, while the remaining faces are assembled into a new boundary. Existing topology may disappear, and entirely new faces, edges and vertices can be created.

Nearly tangent surfaces, coincident faces and very small intersections are common sources of difficulty because classification becomes sensitive to numerical tolerances.

Operations Rarely Exist in Isolation

Real CAD features usually combine several modeling operations.

A mechanical housing might begin as an extrusion, receive cylindrical cuts through Boolean subtraction, gain rotational features, and then use sweeps for channels or ribs. Fillets and chamfers may be added afterward, modifying topology once again.

For CAD application development, this means that an API or SDK must support more than isolated construction commands. Application logic needs access to operation results, topology changes, failure conditions and the geometric entities created during each step.

The value of a solid modeling kernel lies in maintaining continuity across this sequence. Each operation must leave the model in a state that can serve as valid input for the next one. That requirement is what turns extrusion, revolution, sweep and Boolean calculations from individual geometric algorithms into the foundation of an editable 3D modeling system.