As a result the solver now informs the user way better than before about redundant constraints, which prevents arriving to many highly undesirable situations where changes in values cause overconstraint or conflicting constraints. Many issues that remained hidden in the past were actually caused by unreported redundancies.
Additionally the DoF finder functionality has been merged:
This allows to grasp what is not yet constraint in the sketch. It is a life saver in complex sketches.
Since today, the DoF finder also features a python interface:
https://forum.freecadweb.org/viewtopic.php?f=22&t=29184
I am curious to see what our Python masters will do with it. They never stop to surprise me.
Recently, the sketcher "section functionality" was also merged (Thank DeepSOIC, who did 99.9% of the work ). Now it is easier than ever to build those sketches that are just in the middle of the part:
There have been a lot of minor fixes, for example the sketcher notifying a wrong number of DoFs after certain constraint addition or notification of a fully constraint sketch when it simply wasn't.
Another fix, that may not be so "minor", involves rewriting the symmetry about a point solver constraint. This was misbehaving in some corner cases, causing the constraint to be added but not really applied. It was one of those things that caused a certain irrational tendency to crash something against the monitor or the CPU, despite both of them being innocent.
Chrisb and myself, we have gone through most solver tickets in the tracker, if not all (GCS project). Many have been closed and I think some which are in feedback status to see if the solution is what the reporter requested will also be closed. There are very few solver tickets left:
https://freecadweb.org/tracker/view_all_bug_page.php
I want to take this opportunity to thank all reporters over the years, that have invested their time in reporting these problems. To our friends of the help forum and bug tracker managers, who filter all the issues that appear and polish the bug reports, so that they are properly written, to the point and easy to reproduce. Yes it took time. Yes for a while there might be that sensation of making pointless work as nothing was ever solved, but without them the bugs would still be there. To all those who know better than me and help me out when my knowledge is not enough, e.g. DeepSOIC.As always standard general thanks go to Werner, who silently suffers my poor coding style, and reviews and fixes my wrongs.
Now that all this has been merged, I will work on the issue that executes outside sketcher edit mode do not use the default solver selected by the user. I was not aware of this until yesterday. That functionality of selecting solver was intended as an advanced debug tool for sketchs in edit mode, but I see that it has been adopted outside that scope.
I am slightly worried about another misbehaviour, that I have experienced myself, that sometimes when leaving the sketch edit mode and trying to do an operation, FreeCAD complains about "Broken Face". I need a way to reproduce this consistently. I want to fix that one.
I would also like to invite you, now more than ever, to be picky with the solver and report any misbehaviour. Many things that 4 years ago we thought were too picky to be taken care of (as we had much bigger issues), now is just about right.
If you could trigger a daily PPA/windows build of v0.18 with the current content of master, I think it would be helpful so that we all get the latest fixes.sgrogran wrote:...