FreeCAD: master 5609269c

Author Committer Branch Timestamp Parent
abdullah abdullahtahiriyo master 2021-01-19 18:54:50 master ea49ed92
Affected Issues  0004501: Solver doesn't find redundancy
Changeset GCS: New Constraint for equal size lines, avoiding to use an extra parameter

============================================================================

This specific constraint removes the free parameter of the previous implementation. This solves:
https://tracker.freecadweb.org/view.php?id=4501

fixes 0004501

However, this implementation of equal size produces zero gradients when coordinates of lines are aligned,
e.g. vertical or horizontal. These zero gradients, which are mathematically right ruin the diagnosis, which
regards corresponding elements as fully constraint (because they are locked from a solver point of view), when
they are simply locked, but are movable and constrainable. For this, when the rightful gradient is small enough
(<1e-10) it is substituted by a surrogate gradient of 1e-10, which solves the problem with the diagnose, which
treats as zero only values under 1e-13 (pivot threshold used in QR decomposition).

This special behaviour fixes the wrong detection here:
https://forum.freecadweb.org/viewtopic.php?f=8&t=53466&start=40#p464168

It also fixes this one:
https://forum.freecadweb.org/viewtopic.php?p=468585#p468587
mod - src/Mod/Sketcher/App/planegcs/Constraints.cpp Diff File
mod - src/Mod/Sketcher/App/planegcs/Constraints.h Diff File