News for hackers. Stuff that matters.
Re:Fornjot – The world needs another CAD program by krisoft on Monday March 28, 2022 @06:30AM (#30829061)
> 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.

Re:Fornjot – The world needs another CAD program by hannobraun on Monday March 28, 2022 @08:01AM (#30829556)
I agree that a geometric constraint solver is very valuable. Having one built-in is a goal for Fornjot. We're not nearly there, though!
Re:Fornjot – The world needs another CAD program by krisoft on Monday March 28, 2022 @11:26AM (#30831511)
Awesome! 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. :)

Re:Fornjot – The world needs another CAD program by hannobraun on Monday March 28, 2022 @12:12PM (#30832058)
No 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.