Assembly 4 workbench

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

Re: Assembly 4 workbench

Post by Haavard »

hasecilu wrote: Thu Apr 21, 2022 10:05 pm I found a problem with the BOM Part List Tool (BOM):
Assembly4 don't add parts that are inside a Group to the BOM, so, if you organize your Parts in Groups (folders) these Parts will not appear in the BOM, if we compare with the BOM of Fasteners, there is no problem if the fasteners are inside a Group.
I fixed the "BOM not generated from parts in groups" issue, but i want to test it more before i make a PR.
Here is the fix, you can test it if you want: https://github.com/howie-j/FreeCAD_Asse ... evelopment


Another question: Should it be possible to list bodies as parts in the BOM?

I mostly design separate parts in partdesign, and import the bodies as links. Putting each body in a part container is therefore just a hassle, so it would be nice to add part information to bodies also. Has this been discussed before?
mcdanlj
Posts: 68
Joined: Sun Dec 01, 2019 12:10 am

Re: Assembly 4 workbench

Post by mcdanlj »

How does one add parts created with the Fasteners WB to an Assembly4 assembly? They are not Asm4_Part items. I want to add screws and related hardware using Fasteners WB to my Asm4 assembly, but I haven't figured out how it works. They don't show up as available in the Asm4_insertLink dialog.
User avatar
s-light
Posts: 119
Joined: Thu Feb 12, 2015 11:39 am
Location: Germany, Hofheim am Taunus
Contact:

Re: Assembly 4 workbench

Post by s-light »

Haavard wrote: Sat Apr 23, 2022 12:07 am mostly design separate parts in partdesign, and import the bodies as links. Putting each body in a part container is therefore just a hassle, so it would be nice to add part information to bodies also. Has this been discussed before?
i did not started to work with Asm4 yet*
and in all my projects i design the parts also in separate files - and every part in its own part-container.
this way a part can be made up of multiple bodies if really needed...
its just a convention i defined for myself..

this way you could import the Parts from each file and this should be fine for your BOM?!

* i think my main think is that i currently base all things on a multiple master sketches - that contain all meassurements..
and i think it is a *good parametric and understandable way* but sometimes very complicated and time consuming to do...
i have to learn a lot to go a new way ;-) ...

sunny greetings
stefan
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

Re: Assembly 4 workbench

Post by Haavard »

s-light wrote: Sun Apr 24, 2022 1:34 pm ...and in all my projects i design the parts also in separate files - and every part in its own part-container.
this way a part can be made up of multiple bodies if really needed...
its just a convention i defined for myself..
I think this is the way Asm4 is meant to be used, and how the BOM tool currently works. All parts are automatically added to the BOM.
FCuser2019
Posts: 125
Joined: Fri Sep 13, 2019 12:15 pm

Re: Assembly 4 workbench

Post by FCuser2019 »

Hello, I have updated the Assembly4 WB to version 0.11.11 and I have noticed the following anomalous behaviour:

1) Load Assembly4 WB;
2) create a new empty document;
3) create a new Assembly4 container --> the container is created but the report view displays the following error message:

Code: Select all

21:21:38  A3 available
21:21:47  Initializing Assembly4 workbench (v0.11.11) ............................ done.
21:22:05  Running the Python command 'Asm4_makeAssembly' failed:
Traceback (most recent call last):
  File "/home/test/.local/share/FreeCAD/Mod/Assembly4/./newAssemblyCmd.py", line 97, in Activated
    partsGroup.addObject(obj)

Cannot add a group object to itself
Thanks for your attention.

My FC infos:

Code: Select all

OS: Linux Mint 20.2 (MATE/mate)
Word size of FreeCAD: 64-bit
Version: 0.20.28751 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 660655e)
Hash: 660655e54c97b5017ff0ac1e030059308cd4e3f5
Python 3.9.12, Qt 5.12.9, Coin 4.0.0, OCC 7.5.3
Locale: Italian/Italy (it_IT)
Installed mods: 
  * kicadStepUpMod 10.10.5
  * DynamicData 2.32.0
  * Manipulator
  * Assembly4 0.11.11
  * fasteners 0.3.38
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

Re: Assembly 4 workbench

Post by Haavard »

FCuser2019 wrote: Sun Apr 24, 2022 7:57 pm Hello, I have updated the Assembly4 WB to version 0.11.11 and I have noticed the following anomalous behaviour:
Cannot add a group object to itself
Thanks for reporting, here is the fix.

Zolko wrote: Wed Apr 20, 2022 9:57 am new version released today[/url] (v0.11.11)
Time for a v0.11.12 :oops:
User avatar
hasecilu
Posts: 124
Joined: Sat Jan 29, 2022 7:23 pm
Contact:

Re: Assembly 4 workbench

Post by hasecilu »

mcdanlj wrote: Sat Apr 23, 2022 2:41 am How does one add parts created with the Fasteners WB to an Assembly4 assembly? They are not Asm4_Part items. I want to add screws and related hardware using Fasteners WB to my Asm4 assembly, but I haven't figured out how it works. They don't show up as available in the Asm4_insertLink dialog.
Check this post, there are some recommendations.
https://forum.freecadweb.org/viewtopic. ... 25#p589125

I am making a video explaining how to do it, already have 30 minutes of raw video but I still need to edit to cut it to ~8 minutes :D
I hope to release it in less than 2 days.
mcdanlj
Posts: 68
Joined: Sun Dec 01, 2019 12:10 am

Re: Assembly 4 workbench

Post by mcdanlj »

hasecilu wrote: Sun Apr 24, 2022 11:43 pm Check this post, there are some recommendations.
https://forum.freecadweb.org/viewtopic. ... 25#p589125

I am making a video explaining how to do it, already have 30 minutes of raw video but I still need to edit to cut it to ~8 minutes :D
I hope to release it in less than 2 days.
Thank you!

There I see:
Next manually place original fastener to the desired LCS, note that all 6 fasteners move. There is no way to assign any Link fastener to another LCS because all fasteners will move, so, the strategy is forget the Assembly4 way and move the links using the Transform Tool (right click>Transform) for every fastener of the 5 left and rotate and move to their position. This coordinates are relative position of the original fastener
Since all but one of my fasteners actually need to move with the assembly, I can't "forget the Assembly4 way" and still animate my Assembly4 assembly, as far as I can tell.

Is this a design limitation of Assembly4?
User avatar
hasecilu
Posts: 124
Joined: Sat Jan 29, 2022 7:23 pm
Contact:

Re: Assembly 4 workbench

Post by hasecilu »

Haavard wrote: Sat Apr 23, 2022 12:07 am
Another question: Should it be possible to list bodies as parts in the BOM?

I mostly design separate parts in partdesign, and import the bodies as links. Putting each body in a part container is therefore just a hassle, so it would be nice to add part information to bodies also. Has this been discussed before?
I think that listing bodies into the BOM will cause a mess.

For the assemblies I always use 1 Part per file and with at least one Body but it can have several bodies. Take for example this piece (https://github.com/FreeCAD/FreeCAD-libr ... tings/KP08) it has 22 Bodies and will definitively take much space in the Part List when I only need to know how many KP08 Parts I have used, the internals bodies are not of importance in the BOM.

Another thing, if the FreeCAD file has more than 1 Part every one will apperar in the BOM and that's not cool, so 1 Part per file.

Regarding the fix to the BOM I made the changes of PR#311 but did not work.
User avatar
hasecilu
Posts: 124
Joined: Sat Jan 29, 2022 7:23 pm
Contact:

Re: Assembly 4 workbench

Post by hasecilu »

Also read this https://twitter.com/OficineRobotica/sta ... 9392110592

Since all but one of my fasteners actually need to move with the assembly, I can't "forget the Assembly4 way" and still animate my Assembly4 assembly, as far as I can tell.

Is this a design limitation of Assembly4?
This "forget the Assembly4 way" is because I'm using a Link to make various copies of one fastener (because I don't want to manually change the parameters to every fastener).

When you have the main fastener it has the absolute (x, y, z) coordinates, then when you create the Link it also have the absolute (x, y, z) coordinates and also has the relative (0, 0, 0) coordinates, then you assign the Count Element to n, the coordinates of each Element are relative to the origin of the Link and these coordinates can be modified with the Transform tool, the elements rely on the Link and only the Link can be attached to an LCS using the Assembly4 tools.

Alternatively you can not use Link and be able to attach every fastener to an LCS, but you will need to change the parameters to n fasteners and create n LCS
Post Reply