I have some code that solves this issue, and also those of:
https://forum.freecadweb.org/viewtopic. ... 424#p51775
probably more from the tracker GCS project.
I need a/some volunteer(s)
for help testing this code modification.
The branch is this:
https://github.com/abdullahtahiriyo/Fre ... mprovement
What is this?
Well, you get the DoF finder (https://github.com/FreeCAD/FreeCAD/pull/1345
), and on top of that a new commit intended to improve the detection of redundants.
How does it work internally?
The solver uses some heuristics to determine the "redundant to remove" and notify it to the user.
Basically it would pick the solver redundant constraint that affects most groups of redundants (popularity contest).
In the simple cases, all the redundants are equally popular and the popularity contest is untied by using the tagid (let say for simplicity it is the number at sketcher level Constraint3, the tagid=3).
This means that in simple cases, the solver systematically decides that the redundant constraint to handle from those showing a linear dependency is the one appearing the last.
This commits changes the way to untie the popularity contest, by giving more priority to those sketcher constraints that need a lower number of solver constraints (in other words,
those constraints that remove a lower amount of DoF). In case of tie, the tagid is then used to break the tie.
See my comment on this, for more details:
https://github.com/abdullahtahiriyo/Fre ... f846540d8a
What do you need?
Clone that branch. Compile it. Go through the tickets in the tracker in the GCS project relating to problems with redundants or with reporting of redundants or the symmetric constraint, or wrongly indicating is fully constraint. Try to reproduce them. If you can not report it here as solved.
You can also try to force redundants/conflicting with that code and/or use it in a "not very relevant" project and feedback.
I do not anticipate any side effect, but well, you know, a need control groups and administer a dosage of this branch to only some individuals and a placebo to others....
What is in for me?
You are making FreeCAD better. What else?
Making the solver messages way more reliable. Better detection of redundancies.