View Issue Details

IDProjectCategoryView StatusLast Update
0003286GCS[All Projects] Generalpublic2018-10-06 15:38
ReporterdanidrAssigned Toabdullah 
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
PlatformAllOSAllOS VersionAll
Product Version0.17 
Target Version0.19Fixed in Version 
Summary0003286: DogLeg bug (falling back to LevenbergMarquardt) and feature request
DescriptionFreeCAD 0.17 from 12813 Git.

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
http://www.freecadweb.org/tracker/main_page.php

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.
Steps To Reproduce
  1. Change Variables.Stroke to any value (e.g. 30mm)
  2. Check console and bodies; not updated correctly, DogLeg not able to solve, LevenbergMarquardt can
  3. Consequent manual recompute updates the file correctly
TagsSolver

Activities

danidr

2017-12-18 09:45

reporter  

DogLegBug.FCStd (65,491 bytes)

Kunda1

2017-12-18 12:17

manager   ~0010616

Please open a forum ticket to discuss with community. then bi-directionally link ticket<=>thread

Kunda1

2017-12-19 03:28

manager   ~0010618

please link ticket to forum and vice-a-versa

danidr

2017-12-19 09:08

reporter   ~0010619

Link to forum: https://forum.freecadweb.org/viewtopic.php?f=8&t=25946

abdullah

2018-06-15 16:40

manager   ~0011441

Very interesting project, in which it is consistently reproducible the bug "Failed to ... broken face".

The feature request for general solver selection has also merit.

Issue History

Date Modified Username Field Change
2017-12-18 09:45 danidr New Issue
2017-12-18 09:45 danidr File Added: DogLegBug.FCStd
2017-12-18 09:45 danidr Tag Attached: Solver
2017-12-18 12:16 Kunda1 Project Sketcher => GCS
2017-12-18 12:16 Kunda1 Category Bug => General
2017-12-18 12:16 Kunda1 Tag Attached: #post-to-forum
2017-12-18 12:17 Kunda1 Note Added: 0010616
2017-12-18 12:17 Kunda1 Status new => feedback
2017-12-19 03:28 Kunda1 Note Added: 0010618
2017-12-19 09:08 danidr Note Added: 0010619
2017-12-19 09:08 danidr Status feedback => new
2017-12-19 19:02 Kunda1 Severity major => minor
2017-12-19 19:02 Kunda1 Tag Detached: #post-to-forum
2018-06-15 16:40 abdullah Note Added: 0011441
2018-06-15 16:40 abdullah Assigned To => abdullah
2018-06-15 16:40 abdullah Status new => assigned
2018-10-06 15:38 abdullah Target Version => 0.19