Skip to main content

round_convex_corner

Function round_convex_corner 

Source
pub fn round_convex_corner(
    solid: &BrepSolid,
    corner: Vec3,
    radius: f64,
    name: Option<&str>,
) -> Result<BrepSolid, String>
Expand description

§6.9.7 vertex (“star”) blend: round a convex trihedral corner whose three incident edges are ALREADY filleted, by pure topology surgery — no booleans. corner is the ORIGINAL sharp corner coordinate (already trimmed away by the edge fillets). A spherical octant of radius, tangent to all three cylindrical fillets along their tangent circles, is sewn into the notch; the three fillet loops are closed on those tangent circles and the leftover flat caps are removed.

Dispatch beyond the convex trihedral fast path:

  • N>3 walls with a common tangent ball → spherical N-gon patch;
  • N≥4 walls with NO common ball → [round_general_star] (N=4 Coons);
  • trihedral corner with ONE CONCAVE incident edge (fillet tangent vertices missing) → [round_mixed_concave_corner] (torus sector);
  • CURVED-WALL trihedral corner (two planar walls + one cylindrical wall through the vertex, all three incident edges convex and filleted) → corner ball solved against the offset cylinder, then the same tangent-arc rebuild + spherical-triangle patch;
  • anything else (all/multi-concave, tilted concave axis, MIXED curved-wall corners, non-cylindrical curved walls, N≥5 no-common-ball) refuses with a message naming the configuration.