kbwbe / A2plus

Another assembly workbench for FreeCAD, following and extending Hamish's Assembly 2 workbench
GNU Lesser General Public License v2.1
169 stars 66 forks source link

rotates (or maybe moves) only to certain degree #287

Open stingray427 opened 5 years ago

stingray427 commented 5 years ago

Hello A2plus Team,

so the symptoms are:

I thought converting every part into "full function A2plus part" would work, but as you see in this case it doesn't help.

My suspicion is, as soon rod's (yellow) center and tube's (pink) center cross solver stops to work :(

parts.zip constraint_fail

Edit: as in screenshot, version is 0.4.24

kbwbe commented 5 years ago

Hi, sorry for the my late answer, i am just back from a few days on holiday. The problem you encountered is, that going close to 58 degrees the iteration steps of the solver get instable. One indicator is the huge calculation time when using the 59 degree value.

The reason probably is the constraining of the rod. It's bearing sleeve is far away from the rotation axis of the spring mount base.

Please find attached a version, where i changed the constraining of the rod. Please inspect axisCoincident_003... and axisConincident_004...

With this constraint sceme it works with 58 and beyond degrees. I tested it up to 54 degrees. parts.zip

modified-constraints

stingray427 commented 5 years ago

No worry, I wasn't expecting at all that you will provide me a workaround. Even though I found another workaround(not elegant as yours), I am still very impressed by your kindness. It is still issue tracker not a forum after all. Thank you! :-)

Suppose it is a bug and not a limitation of mathematics, I provide my another workaround for this problem in case someone wants to study this case more closely.

This is what I did: i have changed lengths of the rods and bearing sleeve.

kbwbe commented 5 years ago

This is an unexpected effect and i can comfirm the behavior. Fixing this will for sure need some time as such things are usually difficult to explore. I let this issue open as reminder.