Another approach to assembly solver (A2plus)

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
kbwbe
Veteran
Posts: 1052
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Post by kbwbe »

@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.56, installable via FreeCAD's addon manager
Tutorial: gripper assembly https://www.youtube.com/watch?v=QMxcQ5tssWk
Documentation: https://www.freecadweb.org/wiki/A2plus_Workbench
User avatar
manuelkrause
Posts: 442
Joined: Thu Jul 05, 2018 7:16 pm

Re: Another approach to assembly solver (A2plus)

Post by manuelkrause »

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)

Post by manuelkrause »

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
Veteran
Posts: 1052
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Post by kbwbe »

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.56, installable via FreeCAD's addon manager
Tutorial: gripper assembly https://www.youtube.com/watch?v=QMxcQ5tssWk
Documentation: https://www.freecadweb.org/wiki/A2plus_Workbench
User avatar
manuelkrause
Posts: 442
Joined: Thu Jul 05, 2018 7:16 pm

Re: Another approach to assembly solver (A2plus)

Post by manuelkrause »

@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)

Post by manuelkrause »

@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
Veteran
Posts: 1052
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Post by kbwbe »

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.56, installable via FreeCAD's addon manager
Tutorial: gripper assembly https://www.youtube.com/watch?v=QMxcQ5tssWk
Documentation: https://www.freecadweb.org/wiki/A2plus_Workbench
kbwbe
Veteran
Posts: 1052
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Post by kbwbe »

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.56, installable via FreeCAD's addon manager
Tutorial: gripper assembly https://www.youtube.com/watch?v=QMxcQ5tssWk
Documentation: https://www.freecadweb.org/wiki/A2plus_Workbench
kbwbe
Veteran
Posts: 1052
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Post by kbwbe »

@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.56, installable via FreeCAD's addon manager
Tutorial: gripper assembly https://www.youtube.com/watch?v=QMxcQ5tssWk
Documentation: https://www.freecadweb.org/wiki/A2plus_Workbench
kbwbe
Veteran
Posts: 1052
Joined: Tue Apr 10, 2018 3:12 pm
Location: Germany, near Köln (Cologne)

Re: Another approach to assembly solver (A2plus)

Post by kbwbe »

@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.56, installable via FreeCAD's addon manager
Tutorial: gripper assembly https://www.youtube.com/watch?v=QMxcQ5tssWk
Documentation: https://www.freecadweb.org/wiki/A2plus_Workbench
Post Reply