waterfall-cad-0.4.0.0: Declarative CAD/Solid Modeling Library
Safe HaskellNone
LanguageHaskell2010

Waterfall.Fillet

Synopsis

Documentation

roundFillet :: Double -> Solid -> Solid Source #

Add a round with a given radius to every edge of a solid

Because this is applied to both internal (concave) and external (convex) edges, it may technically produce both Rounds and Fillets

roundConditionalFillet :: ((V3 Double, V3 Double) -> Maybe Double) -> Solid -> Solid Source #

Add rounds with the given radius to each edge of a solid, conditional on the endpoints of the edge.

This can be used to selectively round/fillet a Solid.

roundIndexedConditionalFillet :: (Integer -> (V3 Double, V3 Double) -> Maybe Double) -> Solid -> Solid Source #

Add rounds with the given radius to each edge of a solid, conditional on the endpoints of the edge, and the index of the edge.

This can be used to selectively round/fillet a Solid.

In general, relying on the edge index is inelegant, however, if you consider a Solid with a semicircular face, there's no way to select either the curved or the flat edge of the semicircle based on just the endpoints.

Being able to selectively round/fillet based on edge index is an "easy" way to round/fillet these shapes.