pub fn chamfer_edges_cornered(
model: &mut Model,
solid: &Shape,
specs: &[(Shape, Chamfer)],
corner: ChamferCorner,
tol: Tolerances,
) -> OgeomResult<Built>Expand description
chamfer_edges_with, the vertices where
three or more of its bevels meet closed as corner says.
ChamferCorner::Facet is exactly
chamfer_edges_with: on a solid bounded by
planes the blend engine closes each such vertex, convex, concave or
mixed, with the polygon through its faces’ setback corners. Elsewhere,
and past what the engine’s setbacks hold, each such vertex is a convex corner of three
planes, each pair of its bevels sharing one face there: on that face the
two bevels’ contact lines cross at a point, and the three points span
the facet’s plane. The mitred bevels meet at the point their three planes
share, and the tetrahedron between it and the three points, whose sides
lie on the bevels, is cut away: each bevel ends on the facet, and a box’s
corner of three bevels d gains the triangle cutting each edge at 2d
from the corner, its point’s tetrahedron d³ / 12 taken off.
At a vertex of k > 3 bevels, every face there between two of them in
turn round it, the k points where consecutive bevels’ contact lines
cross must lie on one plane, within the confusion distance, for a facet
through them all to exist: as at a pyramid’s apex beveled alike. The
solid cut away is then the convex piece on the vertex’s side of that
plane and the solid’s side of every bevel’s plane, whose faces are the
facet and the bevels’ parts past it.
§Errors
As chamfer_edges_with, and for
ChamferCorner::Facet
OgeomError::Construction where
a vertex of three or more of the request’s bevels holds one that is not
a straight convex edge between planes, two in turn round it that share
no face, facet points that do not stand on the edges’ own lengths, or,
past three, facet points off one plane.