Assembly3 preview

Discussion about the development of the Assembly workbench.
User avatar
julierme.silva
Posts: 20
Joined: Tue Jan 10, 2017 2:10 am

Re: Assembly3 preview

Postby julierme.silva » Tue Nov 17, 2020 11:46 pm

jpg87 wrote:
Tue Aug 04, 2020 1:56 pm
Note 1:
the remaining mobilities between the parts of a sub-assembly (for example rotation in a "PlaneCoincident" constraint) are no longer perceptible from then the overall assembly: a sub-assembly behaves like a single block of material.
Hello jpg87. His organizational vision for assembling complex structures using Assemly 3 is interesting.

How did you solve the question about the need to connect sub-assemblies through their parts?
I did a test where a part encapsulated in Sub-Assembly1 has 1 DOF for animation and another part encapsulated in Sub-Assembly2 also has 1 DOF. When inserting Sub-Assembly 1 and 2 in the Overrall Assembly, both Sub-Assembly lose their 1 DOF and become a single block, making animation and consequently studying the structure's kinematics impossible.

jpg87 wrote:
Tue Aug 04, 2020 1:56 pm
1- I create a sub-assembly for each kinematic equivalence class (set of parts united or animated by the same final movement).
I can only use your organization strategy in structures that have no movement (set of parts united).
realthunder
Posts: 1847
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Wed Nov 18, 2020 1:54 am

julierme.silva wrote:
Tue Nov 17, 2020 11:46 pm
How did you solve the question about the need to connect sub-assemblies through their parts?
I did a test where a part encapsulated in Sub-Assembly1 has 1 DOF for animation and another part encapsulated in Sub-Assembly2 also has 1 DOF. When inserting Sub-Assembly 1 and 2 in the Overrall Assembly, both Sub-Assembly lose their 1 DOF and become a single block, making animation and consequently studying the structure's kinematics impossible.
I have a solution in mind. Just don't have time to implement it yet. There is another user in this thread that brought up the same request. It is called 'Flexible sub-assembly' in some commercial CAD. The solution is to allow user to mark some part (or constraint) in the sub-assembly as 'Flexible'. When an assembly is about to be solved, it will enumerate all its constraints and child parts. For sub-assembly with flexible parts, they will be promoted as individual parts for the parent assembly together with their involved constraints. The concept can be applied recursively for lower hierarchy.
Try Assembly3 (latest version 0.11) along 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
jpg87
Posts: 446
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Postby jpg87 » Wed Nov 18, 2020 7:30 am

julierme.silva wrote:
Tue Nov 17, 2020 11:46 pm
How did you solve the question about the need to connect sub-assemblies through their parts?
I did a test where a part encapsulated in Sub-Assembly1 has 1 DOF for animation and another part encapsulated in Sub-Assembly2 also has 1 DOF. When inserting Sub-Assembly 1 and 2 in the Overrall Assembly, both Sub-Assembly lose their 1 DOF and become a single block, making animation and consequently studying the structure's kinematics impossible.
For me this means that the division of the kinematic equivalence classes is not correct: the mobilities for the animation must only be found between two kinematic equivalence classes.

Edit :
I haven't finished yet, but you can check out this page:
http://help-freecad-jpg87.fr/0260_ass_ex_creat.php


realthunder wrote:
Wed Nov 18, 2020 1:54 am
I have a solution in mind.
I understand the request that was made and that I saw pass.
It is conceived when we integrate an industrial product recovered in step format for example and which has several classes of kinematic equivalence internally (e.g. a motor, a hydraulic or pneumatic cylinder, etc.) but if the manufacturers have supplied an assembly suitable, your step assembly import tool does the job correctly by separating the subsets corresponding to these kinematic equivalence classes.
So for me the answer to this request is only a luxury!
My website : http://help-freecad-jpg87.fr updated 2020/12/05
User avatar
julierme.silva
Posts: 20
Joined: Tue Jan 10, 2017 2:10 am

Re: Assembly3 preview

Postby julierme.silva » Wed Nov 18, 2020 11:54 am

realthunder wrote:
Wed Nov 18, 2020 1:54 am
julierme.silva wrote:
Tue Nov 17, 2020 11:46 pm
How did you solve the question about the need to connect sub-assemblies through their parts?
I did a test where a part encapsulated in Sub-Assembly1 has 1 DOF for animation and another part encapsulated in Sub-Assembly2 also has 1 DOF. When inserting Sub-Assembly 1 and 2 in the Overrall Assembly, both Sub-Assembly lose their 1 DOF and become a single block, making animation and consequently studying the structure's kinematics impossible.
I have a solution in mind. Just don't have time to implement it yet. There is another user in this thread that brought up the same request. It is called 'Flexible sub-assembly' in some commercial CAD. The solution is to allow user to mark some part (or constraint) in the sub-assembly as 'Flexible'. When an assembly is about to be solved, it will enumerate all its constraints and child parts. For sub-assembly with flexible parts, they will be promoted as individual parts for the parent assembly together with their involved constraints. The concept can be applied recursively for lower hierarchy.
That is exactly the idea, Realthunder.
Do not need to be right now. Assembly 3 is already an excellent workbench. And it gets better with each update.

For now I am placing all Sub-Assembly in an Overrall Assembly and then applying restrictions to all parts of the structure. I've been following the organization logic for projects with many parts described in this tutorial:
http://help-freecad-jpg87.fr/025c4_ass_ ... eption.php

It is possible to observe that DOF-related animations only occur when the General Assembly (Overrall Assembly) is created.
http://help-freecad-jpg87.fr/02assembla ... m3Plus.png
This makes perfect sense because Sub-Assembly animation disappears when you drag the Sub-Assembly into the General Assembly.
Last edited by julierme.silva on Wed Nov 18, 2020 1:43 pm, edited 1 time in total.
User avatar
julierme.silva
Posts: 20
Joined: Tue Jan 10, 2017 2:10 am

Re: Assembly3 preview

Postby julierme.silva » Wed Nov 18, 2020 1:42 pm

jpg87 wrote:
Wed Nov 18, 2020 7:30 am
Hello, jpg87.
I already study your tutorial. Thank you for creating it. Very good study material.

In the post, I didn't make any requests to Realthunder. I ask a question about how to solve a given situation X.

About what you mentioned:
For me this means that the division of the kinematic equivalence classes is not correct: the mobilities for the animation must only be found between two kinematic equivalence classes.
I agree with your point of view, because I learned this by studying your material. However, the example I gave was a simplistic situation to express a thought regarding situations where it would be necessary to interconnect different classes of kinematic equivalence.

About this observation:
So for me the answer to this request is only a luxury!
I really don't know if it's lust.

I am studying the Assembly3 tool and testing it in various situations. Came to my mind this question about the interconnection of different kinematic equivalence classes and I decided to ask how it could be solved.

Thanks for your return.
All of these debates are quite enriching for learning.
Last edited by julierme.silva on Wed Nov 18, 2020 8:17 pm, edited 2 times in total.
ToniTen
Posts: 60
Joined: Fri Sep 04, 2020 10:11 am

Re: Assembly3 preview

Postby ToniTen » Wed Nov 18, 2020 3:14 pm

I assume this is me being thick as mince, but what's the correct way to add a part that resides in a different FreeCAD file?

The way I'm doing it is
  • Open the other FreeCAD file
  • Create an empty link
  • Change the link target to the part from the other Freecad file
  • Drag the link into the assembly
I assume that there must be a quicker way, right? I expected to find some button that would ask me to open the other FreeCAD file, and then pick the part from there, but I could not find it.
User avatar
-alex-
Posts: 711
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Assembly3 preview

Postby -alex- » Wed Nov 18, 2020 6:18 pm

ToniTen wrote:
Wed Nov 18, 2020 3:14 pm
The way I'm doing it is...I assume that there must be a quicker way, right?
  • Open the other FreeCAD file
  • Drag the part into the assembly + press Alt key
ToniTen
Posts: 60
Joined: Fri Sep 04, 2020 10:11 am

Re: Assembly3 preview

Postby ToniTen » Thu Nov 19, 2020 7:46 am

-alex- wrote:
Wed Nov 18, 2020 6:18 pm
  • Open the other FreeCAD file
  • Drag the part into the assembly + press Alt key
Thank you very much! I either missed that in the documentation for Assembly3, or I didn't look at the right places.
User avatar
jpg87
Posts: 446
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 preview

Postby jpg87 » Mon Nov 23, 2020 1:46 pm

Hello,
I added pages on my site:
http://help-freecad-jpg87.fr/0260_ass_ex_creat.php (English)

http://help-freecad-jpg87.fr/00fr/0260_ass_ex_creat.php (French)

I tried to make the workflow more rigorous and put more explanation into the videos.
The files are provided on the site in a simplified format (simple copies of Part WB) to reduce the workload.

The version of FreeCAD Assembly 3 used is that of the Realthunder branch:

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2020.11.16.22739 +2766 (Git)
Build type: Release
Branch: LinkStage3
Hash: 6730ad3b3bd841c2745ec98bf953c523dea86913
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: French/France (fr_FR)


realthunder wrote:
Wed Nov 18, 2020 1:54 am
...
Hello Realthunder, if you have a few minutes to consult my videos, especially the pages:
http://help-freecad-jpg87.fr/0261_ass_ex_creat_CE1.php
http://help-freecad-jpg87.fr/0268_ass_ex_creat_Glob.php

I would like to know your comments which would allow me to improve all that.
I specify that for the part
http://help-freecad-jpg87.fr/0268_ass_ex_creat_Glob.php second video time 4/44
I did not manage to use the multiplication of constraints. No doubt have not yet understood!
My website : http://help-freecad-jpg87.fr updated 2020/12/05
User avatar
julierme.silva
Posts: 20
Joined: Tue Jan 10, 2017 2:10 am

Re: Assembly3 preview

Postby julierme.silva » Mon Nov 23, 2020 3:11 pm

jpg87 wrote:
Mon Nov 23, 2020 1:46 pm
Hello,
I added pages on my site:
http://help-freecad-jpg87.fr/0260_ass_ex_creat.php (English)

http://help-freecad-jpg87.fr/00fr/0260_ass_ex_creat.php (French)

I tried to make the workflow more rigorous and put more explanation into the videos.

Congratulations on the initiative, jpg87.
Your tutorial is a very good study source.
The update was great.

A wish, if it won't be too much work for you.
On the page that you explain about constraints and the relationship with DOF, can you make available on the page the files of the existing objects in the explanatory animation?
Page: http://help-freecad-jpg87.fr/020_ass_o ... tr.php#

It is nice to download the files to replicate what you demonstrate in the animations.