View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000754||GCS||General||public||2012-06-16 06:38||2021-02-06 06:31|
|Platform||32 bit||OS||Kubuntu||OS Version||12.04|
|Summary||0000754: Sketcher doesn't report that a fully constrained sketch may have multiple (finite) solutions|
|Description||This file is two lines on a circle. The way it is constrained, you can drag the "triangle" in circles around the circle, which partly works.|
A vertical or horizontal constraint set on the apex of the triangle will cause it to think it is fully constrained, when it should have two possible locations.
The "triangle" also can be dragged with the mouse when the apex is not constrained, but after it has gone most of the way around the circle, the triangle suddenly flips to the other side of the circle.
|Steps To Reproduce||1) if you drag the "triangle" around the circle it goes most of the way around and then suddenly flips to the other side.... then if you keep the mouse pointer going around the circle, the triangle suddenly flips back again.|
2) If you select the apex of the "triangle" and then set either one horizontal distance or one vertical distance constraint it says the sketch is fully constrained, which it is not. If you look at the screen shots attached you will see the two valid possible out comes for a vertical distance constraint. The error is the same type of thing if you set horizontal distance constraint
3) if you set lock constraint on the apex it complains of being over constrained ....which might or might not be the case.
4) this point happened the first two times I tried to set vertical distance constraint but after closing and reopening the file, I have not yet managed to get it to repeat. I will test further on this point. When the apex was one the right hand position of the two possible outcomes for vertical constraint on the apex, it inserted the correct vertical value but flipped the triangle over to the lower left hand side (the second possible outcome for that vertical constraint value)
|Additional Information||Version: 0.13.1157 (Git)|
I am wondering if this is a problem with how "length along line constraint" works? I might well be talking complete crap, but I was wondering if the horizontal and vertical distant constraint is working of the x and y value of the length along the line constraint rather than truly working on its length. If so that could explain what is going on.
|Tags||#pending, constraints, Solver|
|related to||0001460||closed||abdullah||GCS||Changing size sometimes cause overconstrained model|
|related to||0001260||closed||Kunda1||Sketcher||Solver can't handle changing of dimension constraints in depending sketches|
|related to||0001734||closed||abdullah||Sketcher||Constraints evaluated incorrectly while dragging a point with the mouse|
circle_tangent_sketch_fully_constrained_error.FCStd (8,012 bytes)
I managed to get the error 4), or something similar to be repeatable. I not sure if this is more of a problem with the undo system, hence maybe should be on a different ticket, for now it is just a note on the existing ticket in my last post above.
1) move the apex of the triangle to point somewhere towards the lower right quadrant
2)set a vertical distance constraint on the apex
3) click "undo" on the tool bar to remove the last added vertical distance constraint
4) move the apex of the triangle to point somewhere towards the lower left quadrant
5) set a vertical distance constraint on the apex
rather than setting the then current correct default value for vertical distance constraint, ....FreeCAD will push the apex back to the position it had been in prior to the "undo", and set the what should have been a new value default vertical constraint value back to what it had previously been prior to the undo.
This is a link to the topic on the forum
||this is a difficult one. Currently there is no mechanism in the solver for handling multiple solutions and I don't believe that we will have such a possibility soon. However, it is nice to have this test case as a reference when we decide to implement the handling of multiple solutions. Until then, users have to be a bit more clever in order to avoid ambiguous dimensioning.|
I have added another example to the same topic in forum
In this example I don't think its the same, I mean its not an multiple solution, I don't think.
It is an example where an extra superfluous "=" constraint can be added without causing an over constrained error.
||To be clear, in case it is important, the three files posted to the forum, the first I noticed the superfluous "=" constraint and thought "that's not right", used "save as" to get the second file then deleted the "=" and noticed that it was still fully constrained and I got no error messages. So I "saved as" again to get the third file and then noticed that I could put the "=" back in there even though the file had been in a fully constrained state before I clicked on "=" and it still didn't give me an error message.|
Here is another example of where there is a multiple solution with the tangent constraint in these two examples. The tangent can be in either direction, I have included some screen shots two illustrate this particular example. Of course in this file there are more possibilities when one considers the other tangent.
I've posted the files to the forum topic, at the above url.
This is the version data for the last three posts today.
Kubuntu 12.04 32bit
Platform: Ubuntu 12.04 LTS (32-bit)
Version: 0.13.1162 (Git)
Python version: 2.7.3
Qt version: 4.8.1
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.5.1
I am not able to reproduce this with the current master. I am not sure if I am missing something.
May some power user check it up with a current version?
||@chrisb do you mind checking ?|
||@jmaustpc please re-check ticket when you get a moment, thanks!|
I can reproduce it - of course - because it's the well known behaviour. The current definition of solved is: There is no smooth transition to another solution.
So it works as designed and is definitely not a bug. @abdullah may comment if there is a chance to get a solver where solved means: this is the one and only solution. If so this can be a feature request, if not it can be closed.
||@abdullah please take a look at chrisb's response in 0000754:0010623|
Man! I cannot move that triangle. I have tried dragging all the three points and the two edges, in I would say any direction.
When you can reproduce it, what are you dragging?
Sorry, I mixed two different aspects of the bug. Yes, I can reproduce.
To me from this example what is pending is the "flipping", which still happens even with the improved dragging implemented at the end of last year.
Regarding the multiple solution, I do not forsee any change in behaviour. The solution is valid. It is somehow similar to x^2=4, x=2, x=-2, both solutions are valid.
|2012-06-16 06:38||jmaustpc||New Issue|
|2012-06-16 06:38||jmaustpc||File Added: circle_tangent_sketch_fully_constrained_error.FCStd|
|2012-06-16 06:39||jmaustpc||File Added: circleandtwotangentlines_notreallyfullyconstrained_error_whenverticalconstraintisadded2.jpg|
|2012-06-16 06:39||jmaustpc||File Added: circleandtwotangentlines_notreallyfullyconstrained_error_whenverticalconstraintisadded.jpg|
|2012-06-16 06:59||jmaustpc||Note Added: 0002209|
|2012-06-16 07:00||jmaustpc||Note Added: 0002210|
|2012-06-17 09:36||logari81||Status||new => assigned|
|2012-06-17 09:36||logari81||Assigned To||=> logari81|
|2012-06-17 09:42||logari81||Note Added: 0002213|
|2012-06-17 09:43||logari81||Severity||major => minor|
|2012-06-18 00:26||jmaustpc||Note Added: 0002215|
|2012-06-18 00:34||jmaustpc||Note Added: 0002216|
|2012-06-18 00:44||jmaustpc||Note Added: 0002217|
|2012-06-18 01:02||jmaustpc||Note Added: 0002218|
|2012-07-01 12:50||yorik||Project||FreeCAD => Sketcher|
|2012-12-20 20:55||logari81||Summary||sketcher says sketch is fully constrained when it is not => Sketcher doesn't report that a fully constrained sketch may have multiple (finite) solutions|
|2014-03-04 18:32||wmayer||Relationship added||related to 0001460|
|2017-01-18 22:05||Kunda1||Tag Attached: Solver|
|2017-01-22 14:29||Kunda1||Relationship added||related to 0001260|
|2017-04-02 08:55||kkremitzki||Assigned To||logari81 =>|
|2017-04-02 08:55||kkremitzki||Status||assigned => new|
|2017-09-27 12:32||Kunda1||Relationship added||related to 0001734|
|2017-10-19 12:35||Kunda1||Tag Attached: constraints|
|2017-12-08 15:52||abdullah||Note Added: 0010545|
|2017-12-09 01:36||Kunda1||Note Added: 0010547|
|2017-12-11 06:26||Kunda1||Note Added: 0010564|
|2017-12-11 06:27||Kunda1||Tag Attached: #pending|
|2017-12-13 15:20||Kunda1||Project||Sketcher => GCS|
|2017-12-21 10:29||chrisb||Note Added: 0010623|
|2018-01-25 16:58||Kunda1||Note Added: 0010851|
|2018-01-27 17:19||abdullah||File Added: Triangle_around_circle.png|
|2018-01-27 17:19||abdullah||Note Added: 0010880|
|2018-06-15 16:49||abdullah||Note Added: 0011442|
|2018-06-15 16:59||abdullah||Assigned To||=> abdullah|
|2018-06-15 16:59||abdullah||Status||new => assigned|
|2018-10-06 15:37||abdullah||Category||Bug => General|
|2018-10-06 15:37||abdullah||Target Version||=> 0.19|
|2018-10-06 15:37||abdullah||Steps to Reproduce Updated|
|2020-11-10 12:56||abdullah||Target Version||0.19 => 0.20|
|2021-02-06 06:31||abdullah||Target Version||=> 0.20|