3 ms·
> Parametricity comes essentially built-in, the way variables and functions are built-in to a programming language. That is a common misconception, but in real
by krisoft 5y ago
> Parametricity comes essentially built-in, the way variables and functions are built-in to a programming language.
That is a common misconception, but in reality that's not how it shakes out. Realworld CAD software uses a geometric constraint solver because real world design problems have geometric constraints.
If you want to draw a rectangle with width X and height Y, sure you can handle that with variables.
What do you do if you want a triangle where one side is tangential with an arc, the other two sides have an angle Z between them and the intersection between that two sides is straight down from the center of the arc (that is they have the same x coordinate)? Is this description well-defined or do we need to give one more measure/constraint before it becomes so? Or maybe even over-defined and we can't possibly satisfy all these constraints?
This is the kind of question a geometric solver can answer, realtime as you are editing the sketch. You can try to cook up an ad-hoc solver every time you need one (with variables and functions) but then you are not in the business of designing stuff, but in the business of ad-hoc CAD development.
- hannobraun 5y agoI agree that a geometric constraint solver is very valuable. Having one built-in is a goal for Fornjot. We're not nearly there, though!
- krisoft 5y agoAwesome! Are you guys thinking about using some already existing solution or perhaps developing your own? No worries if you haven't thought that far forward, that's also fine. :)
- hannobraun 5y agoNo idea :) I know I want it, and that's about the extent of the design work. There's loads of more basic capabilities to add, before it makes sense to tackle constraints.