I am creating a (not-so complex) sketch for an internal project in my company, which also includes expressions linked to a spreadsheet.
The standard DogLeg solver apparently isn't able to solve the sketch when changing the parametrized dimension on first attempt, but I have to force a second recompute to let it solve correctly.
I am attaching the drawing to give you an idea.
Try changing the Variables.Stroke to something like 30mm and you'll notice that the two bodies are not updated correctly on first try. Console reports:
Sketcher::Solve()-DogLeg- Failed!! Falling back...
Important: the LevenbergMarquardt solver succeeded where the DogLeg solver had failed.
If you see this message please report a way of reproducing this result at
Recomputing the document manually with "Mark to recompute" and the Refresh button fixes it, but on a much larger file as the one I'm working on, this requires too much time, and for our use of FreeCAD, speed is critical.
This brings us to the second point: is it possible to force FreeCAD to use LevenbergMarquardt on recompute instead of just allowing DogLeg, which is currently bugged? I guess this would be easier and quicker to implement than fixing what ever is going wrong in DogLeg.
Link to tracker ticket is: https://freecadweb.org/tracker/view.php?id=3286