Skip to content

Assembly: keep active drag limits while resolving new violations#15

Open
PaddleStroke wants to merge 1 commit into
FreeCAD:mainfrom
PaddleStroke:patch-1
Open

Assembly: keep active drag limits while resolving new violations#15
PaddleStroke wants to merge 1 commit into
FreeCAD:mainfrom
PaddleStroke:patch-1

Conversation

@PaddleStroke

Copy link
Copy Markdown

Fix FreeCAD/FreeCAD#27214

Fixes an Assembly drag solver issue where a chain of limited slider joints could jump between valid positions after multiple limits were reached. During drag limit resolution, the solver previously tried violated limits one at a time and deactivated each before checking the next one. In a double-slider setup, this allowed the first slider limit to be released while satisfying the second slider limit, causing the dragged assembly to snap back and repeat. This changes PosICDragLimitNewtonRaphson to accumulate active violated limits during the drag projection, so earlier reached limits remain enforced while newly violated limits are added.

Tested with the provided file, the bug is fixed.

Fixes an Assembly drag solver issue where a chain of limited slider joints could jump between valid positions after multiple limits were reached.
During drag limit resolution, the solver previously tried violated limits one at a time and deactivated each before checking the next one. In a double-slider setup, this allowed the first slider limit to be released while satisfying the second slider limit, causing the dragged assembly to snap back and repeat.
This changes PosICDragLimitNewtonRaphson to accumulate active violated limits during the drag projection, so earlier reached limits remain enforced while newly violated limits are added.
@PaddleStroke

Copy link
Copy Markdown
Author

@aiksiongkoh could you check it please

@PaddleStroke

Copy link
Copy Markdown
Author

@aiksiongkoh bump

1 similar comment
@PaddleStroke

Copy link
Copy Markdown
Author

@aiksiongkoh bump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Assembly: buggy behavior when dragging the slider of a double slider to the end.

1 participant