Skip to main content

chamfer_edges_cornered

Function chamfer_edges_cornered 

Source
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.