Assembly3 preview

Discussion about the development of the Assembly workbench.
realthunder
Posts: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Mon Apr 22, 2019 8:58 am

andrew.j.smart1988 wrote:
Sun Apr 21, 2019 10:00 am
EDIT3: Ok, I re-imported the step file using the assembly3 release (ReduceObjects=true) instead of FreeCAD 0.17, and that appears to have shrunk down the main memory usage to 1.7GB and disk representation to 20MB. It did a much better job importing the STEP file, I see duplicate instances appear to be linked instead of copied. Looks much more promising now.
I was about to suggest that. Any way, converting the step import into asm3 representation still requires a lot of manual work. I'll write a script to help with that shortly.
Try Assembly3 (latest version 0.10.2) 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
HoWil
Posts: 840
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: Assembly3 preview

Postby HoWil » Thu May 02, 2019 1:28 pm

Hi,
I got time and a project to again play with/test a bit asm3.
The only thing I could not find is: how do I add a part in an external file into the assembly.
I tried to dragNdrop a part from an opened file into my current assembly. That worked but the link was lost when closing the second file.
Thanks in advance,
HoWil

BTW: @realthunder and accomplices
Thank you for your work on solving the topological renaming problem... is feels like Christmas when changing a part without destroying everything :D
User avatar
ceremcem
Posts: 208
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 preview

Postby ceremcem » Thu May 02, 2019 1:45 pm

HoWil wrote:
Thu May 02, 2019 1:28 pm
That worked but the link was lost when closing the second file.
That's expected, AFAIK. When you re-open the external dependency file, link would be valid again. You shouldn't close the external file as long as you didn't "Freeze" your linked instance.
HoWil
Posts: 840
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: Assembly3 preview

Postby HoWil » Thu May 02, 2019 5:58 pm

ceremcem wrote:
Thu May 02, 2019 1:45 pm
That's expected, AFAIK. When you re-open the external dependency file, link would be valid again. You shouldn't close the external file as long as you didn't "Freeze" your linked instance.
Thank you ceremcem... will test it ASAP.
EDIT: Can you please provide some insight how to do the 'Freeze'.
User avatar
fosselius
Posts: 344
Joined: Sat Apr 23, 2016 10:03 am

Re: Assembly3 preview

Postby fosselius » Thu May 02, 2019 8:24 pm

This is a limitation with the current implementation that you can only link to open external files. there is no way to hide all document tabs.

so linking to 100 external objects will result in 100 tabs open in the GUI. you could import several parts to a FreeCAD document and then link against the parts in that document, but this is not optimal in many cases.
Mark Szlazak
Posts: 405
Joined: Tue Apr 04, 2017 6:06 pm
Location: Edmonton, Canada

Re: Assembly3 preview

Postby Mark Szlazak » Thu May 02, 2019 8:36 pm

Thought i would upload this paper on constraints and speeding up their evaluation. Maybe someone looking at rolling their own solver or modifying a currently used one could benefit from it.
MVConstraintDecompCAD2017.pdf
(990.15 KiB) Downloaded 32 times
Last edited by Mark Szlazak on Fri May 03, 2019 6:32 am, edited 1 time in total.
User avatar
ceremcem
Posts: 208
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 preview

Postby ceremcem » Thu May 02, 2019 8:37 pm

fosselius wrote:
Thu May 02, 2019 8:24 pm
This is a limitation with the current implementation that you can only link to open external files.
I'm not sure if it will be changed in the future.
there is no way to hide all document tabs.

so linking to 100 external objects will result in 100 tabs open in the GUI. you could import several parts to a FreeCAD document and then link against the parts in that document, but this is not optimal in many cases.
It was! :) Recently this behavior is changed (see attached screencast)
Attachments
tab-behavior-changed.gif
tab-behavior-changed.gif (274.58 KiB) Viewed 516 times
realthunder
Posts: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Fri May 03, 2019 12:15 am

HoWil wrote:
Thu May 02, 2019 1:28 pm
Hi,
I got time and a project to again play with/test a bit asm3.
The only thing I could not find is: how do I add a part in an external file into the assembly.
I tried to dragNdrop a part from an opened file into my current assembly. That worked but the link was lost when closing the second file.
Thanks in advance,
My recent commits has changed this behavior. Now when you close the tab of a linked document, the tab goes away, but the document remains open in the background. You can still force close the document using menu action. I plan to make a release soon.

HoWil wrote:
Thu May 02, 2019 5:58 pm
EDIT: Can you please provide some insight how to do the 'Freeze'.
The freeze function is helpful to detach part history from assembly. Say you have a part made by PartDesign containing hundreds of historical features. You can add this part into an assembly, right click the assembly item in the tree view and select 'Freeze'. The assembly will copy the part shape without history. You can then link to this assembly in your main assembly file. Next time you open the main assembly file, the sub-assembly file will be partially loaded without the history.

Please note that once an assembly is frozen, it cannot be modified. So before you freeze it, you should figure out all the constraining elements that is going to be used by any higher level assembly, and add them to the 'Element group'. You can follow this tutorial to get some idea.
Try Assembly3 (latest version 0.10.2) 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
HoWil
Posts: 840
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: Assembly3 preview

Postby HoWil » Fri May 03, 2019 2:05 pm

realthunder wrote:
Fri May 03, 2019 12:15 am
The freeze function is helpful to detach part history from assembly. Say you have a part made by PartDesign containing hundreds of historical features. You can add this part into an assembly, right click the assembly item in the tree view and select 'Freeze'. The assembly will copy the part shape without history. You can then link to this assembly in your main assembly file. Next time you open the main assembly file, the sub-assembly file will be partially loaded without the history.
Thanks for the link to the tutorial.... the animated gifs are a bit fast but on the third try I got most of it :D .
First, now I know why I did not see the freeze-option. I did not put each body in its own assembly :idea: .
Second, I do not like this feature for my small projects with part numbers of <30 where I do have to edit/adopt part. At some point in time this is for sure helpful but for me it isn't.
Third, since my usual projects are not that large I have no problem with opening all files and have them in memory or with opened tabs/windows. What I miss is the functionality 'automatically' open/import all part of an assembly (which are all in the same folder or in sub-folders of the current project). ASM2 is/was capable of reloading files from a relative path stored inside the assembly. A question connected to this is .... how do I re-open a file whose window was closed by using the symbol of the part in the combo-view :?:
Thanks in advance,
HoWil
realthunder
Posts: 1188
Joined: Tue Jan 03, 2017 10:55 am

Re: Assembly3 preview

Postby realthunder » Fri May 03, 2019 11:38 pm

HoWil wrote:
Fri May 03, 2019 2:05 pm
What I miss is the functionality 'automatically' open/import all part of an assembly (which are all in the same folder or in sub-folders of the current project). ASM2 is/was capable of reloading files from a relative path stored inside the assembly. A question connected to this is .... how do I re-open a file whose window was closed by using the symbol of the part in the combo-view :?:
Thanks in advance,
HoWil
When you start a multi-file assembly, you will need to manually open all the part files first. And then create a new file and add an assembly. You need to save the assembly file at least once. Then, in the tree view, just drag your part tree item and drop into the assembly. Note that if you are using PartDesign body, you must drag the body, not any sub feature inside it. This creates a link inside the assembly file to your part file. After all done, save the assembly file. Next time you open it, all part files will be opened automatically. In the current release AppImage, all part file tabs will be opened, but you cannot close the tab, as it will close the corresponding document. In the future release, only the main assembly file tab is opened, but all other part documents are still opened in the background, and all their tree items will are still there. To bring back the tab view, simply select any feature belonging to that document in the tree view.

BTW, one major difference of asm3 and asm2 is that the part/sub-assembly hierarchy is integrated into the upper assembly. You can directly edit any feature inside the main assembly without explicitly switching to the part document tab view.
Try Assembly3 (latest version 0.10.2) 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