Skip to content

switch to noop in postSolve function#14

Open
fuzzybear3 wants to merge 1 commit into
FreeCAD:mainfrom
fuzzybear3:fix-postsolve-error
Open

switch to noop in postSolve function#14
fuzzybear3 wants to merge 1 commit into
FreeCAD:mainfrom
fuzzybear3:fix-postsolve-error

Conversation

@fuzzybear3
Copy link
Copy Markdown

I found that this thrown error will cause the solver messages status on the right side to complain that the solve failed because it could not converge.

Terminal error: 107.488 <Assembly> AssemblyObject.cpp(177): Solve failed: To be implemented.

After the error is replaced with a no-op, the solver messages correctly show the number of unconstrained degrees of freedom.

Here is the .asmt file if that is needed.
XMM62400.zip

@fuzzybear3 fuzzybear3 changed the title switch to noop in postSolve funcion switch to noop in postSolve function Feb 16, 2026
@oursland
Copy link
Copy Markdown

@aiksiongkoh is this an appropriate change?

@aiksiongkoh
Copy link
Copy Markdown

@PaddleStroke
XMM62400.asmt inside XMM62400.zip is corrupted.
Joint types are all showing dJointE

@fuzzybear3
Copy link
Copy Markdown
Author

I have made another large assembly.

that will give me the errors:

2e-08 <Assembly> AssemblyObject.cpp(177): Solve failed: To be implemented.
Unhandled std exception in ViewProvider::eventCallback: To be implemented.
(Event type: SoMouseButtonEvent, object type: AssemblyGui::ViewProviderAssembly)
Unhandled std exception in ViewProvider::eventCallback: To be implemented.
(Event type: SoMouseButtonEvent, object type: AssemblyGui::ViewProviderAssembly)
Unhandled std exception in ViewProvider::eventCallback: To be implemented.

This asmt file is from the 1.1 release. base.zip

Please let me know if this one is also no good.

Important notes:

I'm not sure what code path this throw is blocking, but after removing the throw, it takes about 2 seconds after releasing a dragged object in the assembly before I can take any other action.

Also the solver messages tab that would also info the user that the error was throw is currently missing.
Issue: FreeCAD/FreeCAD#29390

@PaddleStroke
Copy link
Copy Markdown

PaddleStroke commented Apr 15, 2026

@aiksiongkoh is GESpMatFullPv::postSolve a must have or can we just leave it empty? Removing the throw fix the bug of the user. Is it ok to merge this?

If it's a must have what should it do?

@fuzzybear3
Copy link
Copy Markdown
Author

I want to reiterate that it seems that there is some long calculation after this throw. It seems to be currently skipped by the throw. So while this does fix the assembly messages status, it also slows down the user experience a lot(at least for larger files).

So I would not recommend only switching to a NOOP.

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.

4 participants