pub fn make_thick_sheet(
model: &mut Model,
sheet: &Shape,
thickness: f64,
both_sides: bool,
tol: Tolerances,
) -> OgeomResult<Built>Expand description
Thicken a sheet (a face or an open shell) into a solid: the sheet
moved thickness along its normals (a negative thickness against
them), or by half of it to each side when both_sides, the two layers
joined by side faces along the sheet’s free edges.
The layers are built as offset_sheet builds them, so a free-form
face is fitted to the same bound and reports its deviation in its
tolerance. Where two faces meet at a crease, their offsets meet on the
mitre: each layer’s faces are cut back or run on to where their moved
surfaces cross, and the borders ending at the crease with them. Each
side face is the ruled face between a free edge’s two images: a plane
or a cylinder where the rulings make one on the edge’s own parameter,
and otherwise a B-spline fitted to the rulings to the same bound (the
thickness standing for the distance), its deviation recorded the same
way; along a border ending at a crease it is the flat face between the
images.
§Errors
As offset_sheet but for creases, and if the sheet is closed or has
no free edge (a closed shell bounds a solid already; hollow it with
make_thick_solid), a free edge runs into a
point where its face has no normal, or the layers run into each other.
A crease is refused where it closes on itself, ends where more than
one border of each of its faces meets it, is walked the same way by
both faces, folds its faces back onto each other, or where a border
ending at it is not flat with its offset or does not reach the mitre,
or its mitred edges have no exact chart image on the moved faces.