Specific complaint: Sketcher is not reporting that an additional constraint causes the sketch to be over-determined.
The problem is repeatable; How-to-reproduce is given in the attachment Sketcher_constraint_silence_#89_pq9a.pdf.
Thanks for considering this issue.
(Apologies for not putting the whole text here. My knowledge and/or system does not allow that at this time.)
Regards
Sketcher, constraint silence #89
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
Sketcher, constraint silence #89
- Attachments
-
- Tutorial_snapshot_121818-Mar.FCStd
- (2.89 KiB) Downloaded 31 times
-
- Sketcher, Constraint Silence #89, After.png (27.98 KiB) Viewed 1533 times
-
- Sketcher, Constraint Silence #89, Before.png (30.23 KiB) Viewed 1533 times
-
- Sketcher_constraint_silence_#89_ap9a.pdf
- (96.19 KiB) Downloaded 36 times
Re: Sketcher, constraint silence #89
The only way the sketcher can determine conflicts is by trying solve the sketch subject to all the constraints.
In this case the problem shows up in the "report view" as follows:
Sel : Clear selection
Sel : Add Selection "Tutorial_snapshot_121818_Mar.Sketch.Edge3(0.000000,0.000000,0.000000)"
Sketcher::setUpSketch()-T:0
Sketcher::Solve()-DogLeg- Failed!! Falling back...
Sketcher::Solve()-LevenbergMarquardt- Failed!! Falling back...
Sketcher::Solve()-BFGS- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)-T:0
Sketcher::setUpSketch()-T:0
Sketcher::Solve()-DogLeg- Failed!! Falling back...
Sketcher::Solve()-LevenbergMarquardt- Failed!! Falling back...
Sketcher::Solve()-BFGS- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)-T:0
Sel : Clear selection
The question of whether and/or how to notify the user can be discussed, but the failure to solve is clearly noted. I agree that in many cases there is a clear indication of conflicting constraints. It could be in this case that the solver did not really pinpoint the cause, only the failure.
Hint: it is a good idea to keep the "report view" open at all times. (In the main toolbar select View -> Panels -> Report view)
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Gene
In this case the problem shows up in the "report view" as follows:
Sel : Clear selection
Sel : Add Selection "Tutorial_snapshot_121818_Mar.Sketch.Edge3(0.000000,0.000000,0.000000)"
Sketcher::setUpSketch()-T:0
Sketcher::Solve()-DogLeg- Failed!! Falling back...
Sketcher::Solve()-LevenbergMarquardt- Failed!! Falling back...
Sketcher::Solve()-BFGS- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)-T:0
Sketcher::setUpSketch()-T:0
Sketcher::Solve()-DogLeg- Failed!! Falling back...
Sketcher::Solve()-LevenbergMarquardt- Failed!! Falling back...
Sketcher::Solve()-BFGS- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)- Failed!! Falling back...
Sketcher::Solve()-SQP(augmented system)-T:0
Sel : Clear selection
The question of whether and/or how to notify the user can be discussed, but the failure to solve is clearly noted. I agree that in many cases there is a clear indication of conflicting constraints. It could be in this case that the solver did not really pinpoint the cause, only the failure.
Hint: it is a good idea to keep the "report view" open at all times. (In the main toolbar select View -> Panels -> Report view)
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Gene
Re: Sketcher, constraint silence #89
@Gene
Thanks.
Could you please "report this up the chain", to, say, the "FreeCAD Tracker" (https://www.freecadweb.org/tracker/my_view_page.php) ? I have neither the reputation, accounts, or knowledge that I'm sure you have. Thanks.
Regards.
Thanks.
Could you please "report this up the chain", to, say, the "FreeCAD Tracker" (https://www.freecadweb.org/tracker/my_view_page.php) ? I have neither the reputation, accounts, or knowledge that I'm sure you have. Thanks.
Regards.
Re: Sketcher, constraint silence #89
Interesting. When I turn on Report View and follow the "to reproduce" procedure, I get nothing in the Report View.GeneFC » Sun Mar 12, 2017 7:32 pm said
In this case the problem shows up in the "report view" ...
How do I get the message to appear in my system? (I'm still on Windows 7 / FreeCAD 0.16)
Thanks.
Re: Sketcher, constraint silence #89
I am not sure if this should be reported as a bug. Besides the fact that you attached the wrong file (it shows the "conflicting constraints" message already on opening) and the fact that you expected something else it is not really an error.Cyber3DK wrote: Could you please "report this up the chain", to, say, the "FreeCAD Tracker" (https://www.freecadweb.org/tracker/my_view_page.php) ? I have neither the reputation, accounts, or knowledge that I'm sure you have.
Let me quote from the bug submission guidelines:
The solver shows that the sketch is underconstrained - which in fact it is. And it shows in red that something went wrong which in fact it did. That is a hint for further investigation, the report view shows more.The definition of a bug is this: Something that is not working, but for which you are sure that it should be working (for example it worked in the past, or it is advertised on the FreeCAD documentation wiki). Otherwise, it might be simply that what you want is not implemented, or maybe you are doing something wrong.
Please keep in mind that the solver cannot really help you with the solving. You have to define the constraints, the solver checks them. It's main task is to find a solution, not to give sensible error messages - although that would be nice.
If FreeCAD was a professional system, where users have paid a lot of money, I would be completely on your side. But FreeCAD is developed by a rather small number of people who do it in their spare time, so let's not flood them with bug reports.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Sketcher, constraint silence #89
chrisb wrote:If FreeCAD was a professional system, where users have paid a lot of money,
- it wouldn't even include a solver messages box. If constraints were conflicting, it would be the end user's job to hunt them down without aid from the software apart from turning a bunch of constraint icons and geometry a different colour.
- it would not list the total number of constraints and DOFs. It would be the user's job to figure out how many degrees of freedom are left.
P.S. I'm dead serious about the bullet points above. In the few commercial parametric CAD programs I've used/tested at my jobs, none had these exclusive FreeCAD features. And sometimes I miss them! I have to admit though that in the same commercial programs, the sketch elements colour changes locally along with the applied constraints which is a good hint. It's issue #2069 in the bug tracker.
Re: Sketcher, constraint silence #89
I think chrisb is correct, this is not a bug.Cyber3DK wrote: Could you please "report this up the chain"
The solver will identify the conflict when it is clear. For example, trying to place a single point (line end, circle origin, etc.) at two different locations will be readily identified.
However, in the case you created it is not automatically clear even to a human where the conflict arises. Perhaps the angle constraint is the problem, or perhaps the line length constraint is the problem. In that case the solver just says, "I cannot find a solution."
There are many cases in which multiple horizontal and vertical constraints peacefully coexist in a sketch, so there is really no good basis for the sketcher to determine where the failure to solve fault might lie.
By the way, it is not necessary to look in the report view simply for the notification. The main sketcher display says "unsolved" up at the top. The detail, if any, is found in the report view.
/minor rant on/
The sketcher may be the most widely used workbench in FreeCAD. There are always bugs in any software, and there are always missing features. However, it is not very likely that you or anyone else will immediately find so many new bugs in the very basic features that are used thousands of times per day.
/minor rant off/
Gene
Re: Sketcher, constraint silence #89
Thanks.NormandC wrote
It's issue #2069 in the bug tracker.