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 » Fri Aug 03, 2018 3:06 pm

@manuelkrause,

hi manuel,
setting the angledPlanesConstraint between right arm and torso works, between right arm and lower body not. Have to dive deeper in at weekend.
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 » Fri Aug 03, 2018 3:56 pm

kbwbe wrote:
Fri Aug 03, 2018 3:06 pm
@manuelkrause,

hi manuel,
setting the angledPlanesConstraint between right arm and torso works, between right arm and lower body not. Have to dive deeper in at weekend.
Hi @kbwbe,
thank you for trying and for your time! :-) No need to rush of course, but it would be nice for all of us to find the reason for this behaviour (and have it fixed).

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

Re: Another approach to assembly solver (A2plus)

Postby manuelkrause » Fri Aug 03, 2018 4:52 pm

kbwbe wrote:
Fri Aug 03, 2018 3:06 pm
@manuelkrause,

hi manuel,
setting the angledPlanesConstraint between right arm and torso works, between right arm and lower body not. Have to dive deeper in at weekend.
I've had a closer look at the involved planes, the wrist and the possible other ones on the assembly. With the current shape of the arm there exists a second angle between them. The solver currently finds the intended spinning axis at the shoulder, but may dislike the convergency due to the other angle (meaning the planes e.g. could never get parallel with the previous constraints). ATM I like that the solver rotates the arm at all. ;-) Maybe I should just change the wrist ending plane.

Another idea... somehow a feature wish... you may find it useful to add a "angleBetweenLines" constraint -- so that I can adjust the angle with other vertices.

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 » Sat Aug 04, 2018 10:34 am

manuelkrause wrote:
Fri Aug 03, 2018 4:52 pm
Another idea... somehow a feature wish... you may find it useful to add a "angleBetweenLines" constraint -- so that I can adjust the angle with other vertices.
Hi Manuel,
there are some more constraints missing. I will first fix most of the bugs in current version. After that, we can add more constraints.
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 » Sat Aug 04, 2018 9:21 pm

@kbwbe:

Just tested the devel-branch of this afternoon, but it seems to be broken. It won't assemble correctly on a fresh assembly, the constraint used was a circularEdge, and it happens in both solving modes.
Also the constraint doesn't get correctly grouped below the second part inserted.
Additionally the Report view gets flooded with this message:
File "/home/manuel/.FreeCAD/Mod/A2plus/a2p_viewProviderProxies.py", line 46, in claimChildren
return self.Object.InList
<class 'ReferenceError'>: Cannot access attribute 'InList' of deleted object

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

Re: Another approach to assembly solver (A2plus)

Postby manuelkrause » Sat Aug 04, 2018 9:54 pm

@kbwbe:

Even current master-branch is misbehaving. When adding a planeConstraint (just to rule out the constraint type) it won't do anything, unless I click the Solve button multiple times (same in both modes). I still have "AutoSolve" set to OFF in the preferences.

Seems like the iterations have gone somehow. I'm clueless ATM.

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 » Sat Aug 04, 2018 10:52 pm

manuelkrause wrote:
Sat Aug 04, 2018 9:21 pm
@kbwbe:

Just tested the devel-branch of this afternoon, but it seems to be broken. It won't assemble correctly on a fresh assembly, the constraint used was a circularEdge, and it happens in both solving modes.
Also the constraint doesn't get correctly grouped below the second part inserted.
Additionally the Report view gets flooded with this message:
File "/home/manuel/.FreeCAD/Mod/A2plus/a2p_viewProviderProxies.py", line 46, in claimChildren
return self.Object.InList
<class 'ReferenceError'>: Cannot access attribute 'InList' of deleted object

Manuel
Hi Manuel,
strange ! I do not have this effect and it is working ?!
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
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 » Sat Aug 04, 2018 10:58 pm

manuelkrause wrote:
Sat Aug 04, 2018 9:54 pm
@kbwbe:

Even current master-branch is misbehaving. When adding a planeConstraint (just to rule out the constraint type) it won't do anything, unless I click the Solve button multiple times (same in both modes). I still have "AutoSolve" set to OFF in the preferences.

Seems like the iterations have gone somehow. I'm clueless ATM.

Manuel
Setting a constraint will do nothing, if Autosolve = off. In this case you have to solve manual, so you have to hit the solve button. Thats normal.
I just did a small fresh assembly. Adding the 3rd part, it seems that iteration got stuck. Adding 4th part, everything worked again fine.

I will check.

P.S. Please checkout the branch "revert-master-2018-08..." and test it. It does not include the last changes...
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
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 » Sat Aug 04, 2018 11:34 pm

@manuelkrause

Hi Manuel,
i created another branch "automatic-solver-mode-switching", which is a little bit older. Perhaps you can test with this branch too...
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
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 » Sun Aug 05, 2018 12:35 pm

@Turro75, @manuelkrause,

Hi Guys,
i tried to fix some of the bugs manuel was faced to and updated the branch "devel"

Please test..
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