Expand description
§brepkit-offset
Solid offset engine for brepkit.
This is layer L2, depending on brepkit-math, brepkit-topology,
and brepkit-geometry.
§Pipeline
The offset algorithm follows a 9-phase pipeline:
- Analyse — classify edges as convex/concave/tangent, derive vertex classes.
- Offset — construct the offset surface for each face (translate planes, adjust cylinder radii, etc.).
- Intersect 3D — intersect adjacent offset faces in 3D to find new edge curves.
- Intersect 2D — intersect offset PCurves in parameter space to find edge split points.
- Split edges — split original edges at intersection parameters.
- Arc joints — optionally insert rolling-ball arc fillets at convex edges.
- Build loops — assemble trimmed edges into closed wire loops for each offset face.
- Assemble — build the final shell and solid from offset faces and wire loops.
- Self-intersection removal — detect and excise global self-intersections if enabled.
Re-exports§
pub use error::OffsetError;
Modules§
- error
- Error types for the offset engine.
Structs§
- Offset
Options - Configuration options for solid offset.
Enums§
- Joint
Type - Strategy for joining adjacent offset faces at convex edges.
Functions§
- offset_
solid - Offset all faces of a solid by the given signed distance.
- thick_
solid - Offset a solid while excluding specific faces, producing a thick (hollowed) solid.