Skip to main content

round_vertex_setback

Function round_vertex_setback 

Source
pub fn round_vertex_setback(
    model: &mut Model,
    solid: &Shape,
    vertex: &Shape,
    radius: f64,
    setbacks: &Setbacks,
    tol: Tolerances,
) -> OgeomResult<Built>
Expand description

Round vertex of solid with the bands of its edges at radius, each stopped at its setback, and one patch over the opening between them.

Each band is cut square to its edge at its setback, measured from the vertex along the edge. On each face between two bands the trim runs from one band’s rail end to the next one’s on a conic tangent to both rails. The opening those arcs and conics bound is filled by one patch meeting each band end and each face at setbacks.continuity, fitted to the bands’ own fit target. A setback equal to the ball’s own (the distance along the edge to the foot of the ball’s centre, the radius at a square corner) on every edge is fillet_edges’ corner.

What solid shares with other shapes is copied before it is worked on (ogeom_algo::on_own_nodes), which leaves them as they are.

§Errors

OgeomError::Construction where radius or a setback is not a positive length, a setback is shorter than the ball’s own along its edge or reaches past the edge’s far end, the continuity is neither G1 nor G2, the vertex is not a convex planar corner one ball touches every face of (a curved face meeting it, or planes sharing no tangent ball, are still owed), or the opening does not close as a loop of the bands’ arcs and the faces’ conics; OgeomError::NotDone where the patch misses its target.