Assembly: keep active drag limits while resolving new violations#15
Open
PaddleStroke wants to merge 1 commit into
Open
Assembly: keep active drag limits while resolving new violations#15PaddleStroke wants to merge 1 commit into
PaddleStroke wants to merge 1 commit into
Conversation
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.
Author
|
@aiksiongkoh could you check it please |
Author
|
@aiksiongkoh bump |
1 similar comment
Author
|
@aiksiongkoh bump |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.