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.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.
Assembly3 preview
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: Assembly3 preview
Re: Assembly3 preview
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
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
Re: Assembly3 preview
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.
Assembly 3 notes: https://github.com/ceremcem/freecad-notes
Re: Assembly3 preview
Thank you ceremcem... will test it ASAP.
EDIT: Can you please provide some insight how to do the 'Freeze'.
Re: Assembly3 preview
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.
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.
-
- Posts: 439
- Joined: Tue Apr 04, 2017 6:06 pm
- Location: SF Bay Area, California
Re: Assembly3 preview
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.
Last edited by Mark Szlazak on Fri May 03, 2019 6:32 am, edited 1 time in total.
Re: Assembly3 preview
I'm not sure if it will be changed in the future.
It was! Recently this behavior is changed (see attached screencast)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.
- Attachments
-
- tab-behavior-changed.gif (274.58 KiB) Viewed 2132 times
Assembly 3 notes: https://github.com/ceremcem/freecad-notes
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: Assembly3 preview
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 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,
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.
Re: Assembly3 preview
Thanks for the link to the tutorial.... the animated gifs are a bit fast but on the third try I got most of it .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.
First, now I know why I did not see the freeze-option. I did not put each body in its own assembly .
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
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: Assembly3 preview
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.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
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.