pub fn shell(
topo: &mut Topology,
solid: SolidId,
thickness: f64,
open_faces: &[FaceId],
) -> Result<SolidId, OperationsError>Expand description
Create a hollow shell from a solid by offsetting faces inward.
Each face is offset inward by thickness along its outward normal.
Supports planar, NURBS, and analytic surface faces.
If open_faces is non-empty, those faces are removed from both the
outer and inner shells, creating openings.
ยงErrors
Returns an error if:
thicknessis non-positive- Any face in
open_facesis not part of the solid - Face offset fails (e.g., negative radius for curved surfaces)
- The resulting shell is degenerate