Another approach to assembly solver (A2plus)
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Another approach to assembly solver (A2plus)
@Kbwbe,
of course a more intensive test has to be put in place, anyway with the latest improvements and bug fixes the solver seems working very well.
I would like to know if You already planned a sort of roadmap to first "public" release or what do You think we are still missing to reach the feature freeze stage.
Of course no pressure at all, it's ready when it is ready.
P.S.
immediately implemented the latest modification on a2p_dependencies, very good shot!
of course a more intensive test has to be put in place, anyway with the latest improvements and bug fixes the solver seems working very well.
I would like to know if You already planned a sort of roadmap to first "public" release or what do You think we are still missing to reach the feature freeze stage.
Of course no pressure at all, it's ready when it is ready.
P.S.
immediately implemented the latest modification on a2p_dependencies, very good shot!
Re: Another approach to assembly solver (A2plus)
Hi to all devs! Very nice team work!
BTW I cannot display the icons of the constraints...
what I get is similar to the @Turro75 image I'm attaching but I would like to obtain the same of @Kbwbe in his picture: Thanks in advance
M
Re: Another approach to assembly solver (A2plus)
.Turro75 wrote: ↑Wed Sep 05, 2018 6:43 pm @Kbwbe,
of course a more intensive test has to be put in place, anyway with the latest improvements and bug fixes the solver seems working very well.
I would like to know if You already planned a sort of roadmap to first "public" release or what do You think we are still missing to reach the feature freeze stage.
Of course no pressure at all, it's ready when it is ready.
Hi Turro,
the job to first public release ( it will be v0.1 ) is nearly done. We reached the feature freeze state. I am sure, worst bugs are found and the WB is working fine. I am only finishing some small things.
- enhancing accuracy:
I will add some extra solving steps, to get better final accuracy. When divergence is encountered during these extra loops, the system is still defined to be solved. This is to have better accuracy if the assembly later will be imported as subassembly. I already committed some changes regarding this to devel branch.
- cleaning up
- testing
Version v0.1 will be according state of devel now, with my simplified partial solver. It should be as stable as possible.
After release, we will start towards v0.2. Goals for this new release are:
- implementing your solver additions.
We have to do this step by step, as it is complex and we do not want to introduce bugs. Main advantage, i assume, is moving merged rigids.
- work on the importer regarding updating of parts.
Constraints should mainly not break during these updates.
- One or two new constraints
We can discuss, which are most important.
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
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
Re: Another approach to assembly solver (A2plus)
You're not alone, I get the right colored icons only on assembly created on my pc, every time I open an assembly created by another pc leads in green icons on constraints.
Re: Another approach to assembly solver (A2plus)
Hi @easyw-fc,
i could not solve this problem up to now. The icons exist in WB-files, but are not found if opening assembly on another machine. Do you have an idea ?
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
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
Re: Another approach to assembly solver (A2plus)
Thanks for the precise feedback, I agree.kbwbe wrote: ↑Wed Sep 05, 2018 8:58 pm.Turro75 wrote: ↑Wed Sep 05, 2018 6:43 pm @Kbwbe,
of course a more intensive test has to be put in place, anyway with the latest improvements and bug fixes the solver seems working very well.
I would like to know if You already planned a sort of roadmap to first "public" release or what do You think we are still missing to reach the feature freeze stage.
Of course no pressure at all, it's ready when it is ready.
Hi Turro,
the job to first public release ( it will be v0.1 ) is nearly done. We reached the feature freeze state. I am sure, worst bugs are found and the WB is working fine. I am only finishing some small things.
- enhancing accuracy:
I will add some extra solving steps, to get better final accuracy. When divergence is encountered during these extra loops, the system is still defined to be solved. This is to have better accuracy if the assembly later will be imported as subassembly. I already committed some changes regarding this to devel branch.
- cleaning up
- testing
Version v0.1 will be according state of devel now, with my simplified partial solver. It should be as stable as possible.
After release, we will start towards v0.2. Goals for this new release are:
- implementing your solver additions.
We have to do this step by step, as it is complex and we do not want to introduce bugs. Main advantage, i assume, is moving merged rigids.
- work on the importer regarding updating of parts.
Constraints should mainly not break during these updates.
- One or two new constraints
We can discuss, which are most important.
regarding new features, my hand is high for:
1) as assembly2 does, the multiple constraints for screws, bolts,... very useful, I guess that hamish's code is nearly ready to be integrated
2) be able to enable/disable a constraint without the need to delete and recreate it.
3) constraint to system axes
4) symmetric constraint
5) make symmetric 2 faces of a part to 2 faces of another part (I'll provide an example at the right moment), I found it very useful in the past, in the end it is a plane constraint where the offset is defined by the distances of faces.
6) direct stp importing, and hopefully a command to make all objs in the current file as a2p parts
7) BOM to spreadsheet
and as last...
8) a command that temporary change color of objects according to its DOF, i.e. red fully constrained, amber partially constrained, green free to move, blue overconstrained or something like that
Re: Another approach to assembly solver (A2plus)
EDIT:
Sorry I posted the wrong code
this is what I wanted, on each constraint there is something like that
Code: Select all
c.Proxy = ConstraintObjectProxy()
c.ViewObject.Proxy = ConstraintViewProviderProxy(
c,
path_a2p + '/icons/a2p_PlaneCoincidentConstraint.svg',
True, cParms[1][2],
cParms[0][2],
extraText
)
path_a2p + '/icons/a2p_PlaneCoincidentConstraint.svg',
keeps the dir of the orignal pc only without properly updating?
- wandererfan
- Veteran
- Posts: 6324
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: Another approach to assembly solver (A2plus)
Since the icons are now loaded into the Qt resource system, shouldn't we be using something like this path:
Code: Select all
def getIcon(self):
return ":/icons/Draft_Dot.svg"
This gets the icons from the compiled resource file which Qt knows how to find.
- wandererfan
- Veteran
- Posts: 6324
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: Another approach to assembly solver (A2plus)
what do you get back when you enter this in the console?
Code: Select all
>>> import a2plib
>>> a2plib.pathOfModule()
Re: Another approach to assembly solver (A2plus)
Hi Wandererfan,wandererfan wrote: ↑Thu Sep 06, 2018 1:28 amwhat do you get back when you enter this in the console?Code: Select all
>>> import a2plib >>> a2plib.pathOfModule()
in my pc (win10) I get
>>> import a2plib
>>> a2plib.pathOfModule()
'C:\\Users\\MYUSERNAME\\AppData\\Roaming\\FreeCAD\\Mod\\A2plus'
>>>