Another approach to assembly solver (A2plus)

Discussion about the development of the Assembly workbench.
kbwbe
Posts: 875
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Postby kbwbe » Mon Dec 03, 2018 8:41 pm

manuelkrause wrote:
Mon Dec 03, 2018 5:47 pm
Hi Manuel,
i can reproduce the problem. It is a bug within the solver. It does not correctly recognize an insolvable state of the assembly.

"Pleuellager-O.2" has two constraints (planeParallel and axialConstraint). Both constraints do a relation to an axis (one is the cylinder axis, the other is the plane axis). If you flip the last constraint, the axis alignment of both constraints get ridicoulus and the solver should signal this by an message "constraints inconsistant", but it does not. Instead of this, the part is adjusted to a wrong solution. I will implement an additional check next time.

I stumbled over a similar case last days.

Best regards,
Klaus

P.S. Better delete the planeParallel constraint, but keep the axialConstraint and do a new planeCoincident constraint to align the faces. This should work.
KBWBE

https://github.com/kbwbe/A2plus
latest release: v0.4.29, installable via FreeCAD's addon manager
Tutorials:
Paul Randall: https://youtu.be/mnkecA9S7kc
anisim (deutsch): https://www.youtube.com/watch?v=vDcaFq6IEJM
Turro75
Posts: 170
Joined: Mon Aug 15, 2016 10:23 pm

Re: Another approach to assembly solver (A2plus)

Postby Turro75 » Mon Dec 03, 2018 10:44 pm

kbwbe wrote:
Sun Nov 18, 2018 1:43 pm
Hi all,

and the next update of A2plus is available, V0.1.8

Whats new:
- a new "axisPlaneParallel" constraint

An axis (linear edge or axis of a cylindrical face) is aligned parallel to a selected face. But the parts are not moved to be coincident.

Have fun !
Turro75 wrote:ping
Hi Turro,
this was your issue #4, you was waiting for to be solved.
Ciao Klaus,

it works perfectly.
Recently I tested it to a medium complex assembly with roughly 20 items and more than 60 constraints, every release is better.

Thanks a lot, this is making my job easier.

Regards

Valerio
User avatar
manuelkrause
Posts: 442
Joined: Thu Jul 05, 2018 7:16 pm

Re: Another approach to assembly solver (A2plus)

Postby manuelkrause » Tue Dec 04, 2018 3:23 pm

kbwbe wrote:
Mon Dec 03, 2018 8:41 pm
manuelkrause wrote:
Mon Dec 03, 2018 5:47 pm
Hi Manuel,
i can reproduce the problem. It is a bug within the solver. It does not correctly recognize an insolvable state of the assembly.

"Pleuellager-O.2" has two constraints (planeParallel and axialConstraint). Both constraints do a relation to an axis (one is the cylinder axis, the other is the plane axis). If you flip the last constraint, the axis alignment of both constraints get ridicoulus and the solver should signal this by an message "constraints inconsistant", but it does not. Instead of this, the part is adjusted to a wrong solution. I will implement an additional check next time.

I stumbled over a similar case last days.

Best regards,
Klaus

P.S. Better delete the planeParallel constraint, but keep the axialConstraint and do a new planeCoincident constraint to align the faces. This should work.
Hi Klaus,
thank you for your try to help and your explanation, what's going wrong.
Unfortunately I've only confused the constraints in question. I had better used the "planeConstraint". Nice to reveal another improvement opportunity.
Regarding this: Can we "synchronize" and maybe simplify the tooltip info of A2plus WB somehow with the representation in the tree view (both sides)? These don't use identical naming.

BR, Manuel
kbwbe
Posts: 875
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Postby kbwbe » Tue Dec 04, 2018 3:55 pm

manuelkrause wrote:
Tue Dec 04, 2018 3:23 pm
Can we "synchronize" and maybe simplify the tooltip info of A2plus WB somehow with the representation in the tree view (both sides)? These don't use identical naming.
Hi Manuel,
you are correct, there are some differences in naming. I will clean them up with next release.
KBWBE

https://github.com/kbwbe/A2plus
latest release: v0.4.29, installable via FreeCAD's addon manager
Tutorials:
Paul Randall: https://youtu.be/mnkecA9S7kc
anisim (deutsch): https://www.youtube.com/watch?v=vDcaFq6IEJM
User avatar
manuelkrause
Posts: 442
Joined: Thu Jul 05, 2018 7:16 pm

Re: Another approach to assembly solver (A2plus)

Postby manuelkrause » Tue Dec 04, 2018 5:24 pm

kbwbe wrote:
Tue Dec 04, 2018 3:55 pm
manuelkrause wrote:
Tue Dec 04, 2018 3:23 pm
Can we "synchronize" and maybe simplify the tooltip info of A2plus WB somehow with the representation in the tree view (both sides)? These don't use identical naming.
Hi Manuel,
you are correct, there are some differences in naming. I will clean them up with next release.
Hi Klaus,
thank you for taking this into next release planning.
I didn't know where to begin at first on this, and also to make it as simple as understandable (KISS principle vs. explicative wording). It's your choice at all.
Maybe, when you've adjusted the stuff above, I can help you by actualizing the README.md to update it to the recent changes. That's also needed IMO.

BR, Manuel
kbwbe
Posts: 875
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Postby kbwbe » Wed Dec 12, 2018 10:50 pm

manuelkrause wrote:
Turro75 wrote:
wandererfan wrote:
Hi A2p guys,
devel branch has been heavily modified. It got a new userinterface for defining/editing of constraints.
All Constraints vanished from the toolbar and were moved to a new constraint-tool. Constraining is started by this new button:
.
Constraint-Button.png
Constraint-Button.png (2.43 KiB) Viewed 415 times
.
After hitting this button, the new constraint-tool opens. It is selection sensitive and proposes only the possible constraints according to the selection.
.
Constraint-tool.png
Constraint-tool.png (46.76 KiB) Viewed 415 times
.
After hitting the desired constraint button, a box appears where you can set the properties of this constraint. You can change values and directly test solving from this dialog box. The proposed properties correspond to the desired constraint.
.
Constraint-Value-Dialog.png
Constraint-Value-Dialog.png (62.46 KiB) Viewed 415 times
.
It would be fine, if someone of you guy's finds some time to test the new branch and it's behaviour.
Meanwhile i will go over to fix the issues, found since last release.
KBWBE

https://github.com/kbwbe/A2plus
latest release: v0.4.29, installable via FreeCAD's addon manager
Tutorials:
Paul Randall: https://youtu.be/mnkecA9S7kc
anisim (deutsch): https://www.youtube.com/watch?v=vDcaFq6IEJM
Koemi
Posts: 104
Joined: Thu Dec 28, 2017 11:13 am
Location: The Netherlands

Re: Another approach to assembly solver (A2plus)

Postby Koemi » Thu Dec 13, 2018 9:32 am

Looks awesome kbwbe! :D
herbk
Posts: 1539
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Another approach to assembly solver (A2plus)

Postby herbk » Fri Dec 14, 2018 9:28 pm

Hi Klaus,

after a first quick test, i run in this problem:

After clicking "accept", the new UI stays at the screen, FC and the UI is greyd out. If i close the UI by clicking the X button, the UI closes, but FC stay's greyd out and still dosn't respond.

But, what's confusing to me, if i lay down FC to the window task line and take it back, it works like it should.

OS: "openSUSE Leap 42.3"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15403 (Git) AppImage
Build type: Release
Branch: master
Hash: 44e8f9e9bf3b7a93e927c97b19c6d2850fd75f19
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)

Edit: A other thing in my mind is not the best...:
If i make a setting which is not to solve, i got an error message that this is not possible and with "please delete the constraint".
Why not simply "not sett" a wrong user input with a hint like "input not valid" ?
Last edited by herbk on Fri Dec 14, 2018 9:45 pm, edited 1 time in total.
Gruß Herbert
User avatar
manuelkrause
Posts: 442
Joined: Thu Jul 05, 2018 7:16 pm

Re: Another approach to assembly solver (A2plus)

Postby manuelkrause » Fri Dec 14, 2018 9:36 pm

kbwbe wrote:
Wed Dec 12, 2018 10:50 pm
manuelkrause wrote:
Turro75 wrote:
wandererfan wrote:
Hi A2p guys,
devel branch has been heavily modified. It got a new userinterface for defining/editing of constraints.
All Constraints vanished from the toolbar and were moved to a new constraint-tool. Constraining is started by this new button:
.
Constraint-Button.png
.
After hitting this button, the new constraint-tool opens. It is selection sensitive and proposes only the possible constraints according to the selection.
.
Constraint-tool.png
.
After hitting the desired constraint button, a box appears where you can set the properties of this constraint. You can change values and directly test solving from this dialog box. The proposed properties correspond to the desired constraint.
.
Constraint-Value-Dialog.png
.
It would be fine, if someone of you guy's finds some time to test the new branch and it's behaviour.
Meanwhile i will go over to fix the issues, found since last release.
Hi, Klaus!
Really good looking work! And I also appreciate the Constraint adding via the menu of "possible solutions".
But it should reflect them correctly.
In my attached screenshot I wasn't able to flip the direction constraint without heavy complaints.
Please, have a look. I'd add more info if you can't reproduce.

Manuel
Attachments
Screenshot_20181214_222642.png
Screenshot_20181214_222642.png (47.62 KiB) Viewed 296 times
User avatar
manuelkrause
Posts: 442
Joined: Thu Jul 05, 2018 7:16 pm

Re: Another approach to assembly solver (A2plus)

Postby manuelkrause » Fri Dec 14, 2018 10:19 pm

herbk wrote:
Fri Dec 14, 2018 9:28 pm
Hi Klaus,

after a first quick test, i run in this problem:

After clicking "accept", the new UI stays at the screen, FC and the UI is greyd out. If i close the UI by clicking the X button, the UI closes, but FC stay's greyd out and still dosn't respond.

But, what's confusing to me, if i lay down FC to the window task line and take it back, it works like it should.

OS: "openSUSE Leap 42.3"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15403 (Git) AppImage
Build type: Release
Branch: master
Hash: 44e8f9e9bf3b7a93e927c97b19c6d2850fd75f19
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)

Edit: A other thing in my mind is not the best...:
If i make a setting which is not to solve, i got an error message that this is not possible and with "please delete the constraint".
Why not simply "not sett" a wrong user input with a hint like "input not valid" ?
Hi, @herbk,
I don't know what the folks @openSUSE always do wrong with the FreeCAD sources. I had written an email to one of the package maintainers some weeks ago but never got an answer.
One of the later .rpm's finally worked. I'm at Tumbleweed. (If you wish I could upload the FreeCAD...rpm somewhere, but my upload speed is poor.)
My experience is, to not use the occ(t) devel packages for now, but to use all the "7.3" ones (maybe sub-packages.).

Maybe you better work-on with one of the Appimages (https://github.com/FreeCAD/FreeCAD/releases). They were quite helping-out for me.

Kind regards,
Manuel