View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003976 | GCS | Bug | public | 2019-05-15 20:13 | 2021-02-06 06:31 |
Reporter | openBrain | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | confirmed | Resolution | open | ||
Product Version | 0.18 | ||||
Target Version | 0.20 | ||||
Summary | 0003976: Solver falsely detects redundant constraints in specific conditions | ||||
Description | In some specific conditions, solver falsely detects redundant constraints. It happens when 2 lines/curves are tangent by design but not by constraint. | ||||
Steps To Reproduce | With minimal attached file :
| ||||
Additional Information | Forum thread --- Other example file that produces the same issue by chrisb --- OS: Ubuntu 18.04.2 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.18.1. Build type: Release Python version: 2.7.15rc1 Qt version: 5.9.5 Coin version: 4.0.0a OCC version: 7.3.0 Locale: French/France (fr_FR) | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
|
|
|
This is the same kind of problem as with coincident+tangent combo. You have enforced top line tangent to arc by means of other constraints. The point connecting the circle and the line must be computed by finding an intersection between the two, which is an ill-posed problem for the solver when they are tangent. The false detection of redundancy comes from vanishing of jacobi matrix row when the sketch is precisely solved. This is also exactly what a redundancy looks like. If the solution is slightly inaccurate (e.g. if you move the point away a bit before applying radius constraint), there won't be a false redundancy message. I'm afraid this is unfixable. Having at least some warning (i.e. a false redundancy warning) may be better than nothing, actually. |
|
@DeepSOIC : I'm not sure this is exactly same case as coincident+tangent. In the reproducing procedure, a DOF is released by removing the "2.5 mm" length. This is super weird as if you follow the procedure and try to validate an arc radius (any value), it will refuse it with "sketch contains conflicting constraints". Just change the 2.5 mm length to any other before removing it, and then any value of arc radius is correctly accepted (leading to fully constrained sketch). Even a 2.5 mm radius is correct. |
|
This ticket has been migrated to GitHub as issue 5931. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-05-15 20:13 | openBrain | New Issue | |
2019-05-15 20:13 | openBrain | File Added: solver_redundant_bug.FCStd | |
2019-06-17 06:48 | Kunda1 | Status | new => confirmed |
2019-06-17 06:48 | Kunda1 | Target Version | => 0.19 |
2020-03-29 20:05 | DeepSOIC | Note Added: 0014313 | |
2020-03-29 21:53 | openBrain | Note Added: 0014314 | |
2020-11-10 12:56 | abdullah | Target Version | 0.19 => 0.20 |
2021-02-06 06:31 | abdullah | Target Version | => 0.20 |