functional programming is such an (semantically) overloaded term, it means completely different things to different people. Each time I read it in a blog post/tweet it makes comprehension slightly more difficult.
In this case the poster is not actually going that far off the reservation.
A parametric CAD package starts off with some variables, makes 2D representations of them that can be solved by a constraint solver, extends those 2D representations into a third dimension parametrically, connects 2D representations to earlier generated geometry etc.
If you change an early parametric variable, it ripples through the design because the design is a directed graph (indeed, CAD designers often run into situations where they have tried to do things which would create a cycle in a graph -- use the dimensions of a subsequent part in an earlier part, which the CAD package cannot solve).
Most of the core calculations involved are functional in this regard -- for example a 2D sketch to a 3D extrusion, a 2D sketch to a sweep along a path.
throw646577|1 year ago
A parametric CAD package starts off with some variables, makes 2D representations of them that can be solved by a constraint solver, extends those 2D representations into a third dimension parametrically, connects 2D representations to earlier generated geometry etc.
If you change an early parametric variable, it ripples through the design because the design is a directed graph (indeed, CAD designers often run into situations where they have tried to do things which would create a cycle in a graph -- use the dimensions of a subsequent part in an earlier part, which the CAD package cannot solve).
Most of the core calculations involved are functional in this regard -- for example a 2D sketch to a 3D extrusion, a 2D sketch to a sweep along a path.