Assembly3 - [proposal] - Constraint grouping

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
nemesis
Posts: 373
Joined: Tue Mar 25, 2014 11:24 pm
Location: France, Lyon

Assembly3 - [proposal] - Constraint grouping

Post by nemesis »

Hi all,
realthunder wrote: ping
So, first of all thanks again for the ASM3, that is an impressive work... and it work great!
As explain in a previous post, I wanted to share an idea about the UI of assembly3. I didn't put it in the open discussion assuming that there is maybe not a lot of users of Assembly3, and I don't want to confuse newcomers, making them thought that this workbench is already in the main release.
If it is a bad idea, mods, don't hesitate to move the topic.

so here my 2 cts :

When dealing with large assembly, the tree is a little bit complicated to manage. My main concern is to locate constraint involving one part. The only possibility today is to label the constraints with clear name to indicate which parts are involved.
A first interesting solution would be to have the possibility to group constraint in a folder.
so if we have constraint involving a function we could group them as we wanted.

another solution could be to have automatic group by part, as in the image below.
so the same constraint appear within the 2 parts involved.
constrintGroup.png
constrintGroup.png (49.86 KiB) Viewed 1515 times
This solution will not reduce the size of the tree but may help quickly identify a constraint, specially when design update are done in a part, and need to re-define elements.
Of course only the main root of the part would be shown, not all the feature as it is already available in the part section.

Looking at CATIA image shows that by default name of the parts is between bracket in the name of the constraints. So Basically it will may also ends with large tree in the case of large assembly. I don't think it is possible to group it.
catia.png
catia.png (260.55 KiB) Viewed 1515 times
In NX I think there is a specific tab for constraint (constraint navigator), and you can navigate by part (which is what I had is mind indeed), or by other status.
Image

From What I remember, Solidworks is quite close to CATIA on this (but I'm sure some of you know it better then me and may correct me if I'm wrong)
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 - [proposal] - Constraint grouping

Post by realthunder »

This feature is added in version 0.8, which is the version you are using I think. Please check the document here, about the relation group.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
nemesis
Posts: 373
Joined: Tue Mar 25, 2014 11:24 pm
Location: France, Lyon

Re: Assembly3 - [proposal] - Constraint grouping

Post by nemesis »

Hi,
Sorry to forgot to talk about this feature.
Of course I saw it, and used it, but not a lot, as it is not dynamically updated when adding a new constraint you always need to delete it and re-make it.
Indeed the idea is to get it directly in the constraint group, and looking at NX solution, maybe a right click on the constraints group with various possibility to group constraint would be the better solution.

just to be clear, as I'm not a developer I have no idea on the level of complexity behind this kind of feature. So just take this as idea
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 - [proposal] - Constraint grouping

Post by realthunder »

nemesis wrote: Tue Oct 16, 2018 6:17 am Of course I saw it, and used it, but not a lot, as it is not dynamically updated when adding a new constraint you always need to delete it and re-make it.
It should be auto synchronized. Could you please try it a bit more. It will be better if you can find a sequence of operations that cause it to be out of sync.
just to be clear, as I'm not a developer I have no idea on the level of complexity behind this kind of feature. So just take this as idea
User feedbacks are always welcome.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
nemesis
Posts: 373
Joined: Tue Mar 25, 2014 11:24 pm
Location: France, Lyon

Re: Assembly3 - [proposal] - Constraint grouping

Post by nemesis »

realthunder wrote: Tue Oct 16, 2018 6:26 am It should be auto synchronized. Could you please try it a bit more. It will be better if you can find a sequence of operations that cause it to be out of sync.
So.
Shame on me.
indeed it is synchronized.
the only use case where it is not, is when the solver fail to solve the constraint equation.
Honestly, as I tested it at the beginning of my tests with ASM3 I think the "fail case" was more present than now (because of my misuse of ASM3) and so I didn't use it, when I started to design bigger assemblies.

So at the end, my only request here is to get it by default :lol:
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 - [proposal] - Constraint grouping

Post by realthunder »

nemesis wrote: Tue Oct 16, 2018 7:20 pm So at the end, my only request here is to get it by default
hmm... You are probably not using this feature "right" yet. It is inefficient to manually expand the relation group and scroll for the corresponding part. Normally, you will seek for the relations to make a query. Either you want to know which parts is involved in some constraint, or what constraints are involved in some part.

The more efficient way of using this "relation group" feature is to either select a constraint, then click the "relation group" button (or use shortcut A, R) to jump into the relation group with the corresponding constraints highlighted in both relation objects. This effectively tells you which parts are involved in the selected constraint.

If you want to know what constraints are involved in a give part, then select that part either in the tree or in the 3D view. You don't have to select the part object directly under the part group. Any child object of that part will do. Then click the "relation group" button, it will jump to the relation object corresponding to that part. Expand it and you will get your answer.

In both cases, you can click "go back" button (or shortcut S, B) to go back to your previous selection.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Post Reply