Assembly 4 - nested assemblies and LCS

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Post Reply
MeSat
Posts: 43
Joined: Fri Jul 10, 2015 4:43 am

Assembly 4 - nested assemblies and LCS

Post by MeSat »

Hello, I need some help with LCS's and Assembly 4 with nested assemblies. I don't know if I can do what I want to do or it is a bug.

I am working on a project that I have put together as a massive assembly but it is being changed and I have decided to break the one large assembly into multiple smaller assemblies. No motion is involved. I cannot share the files either.

The issue I am having is I have an assembly that is made up of 6 parts that form a shape that I need to attach to a larger assembly that I have created an LCS for the bolt hole and it works. Now, I have to attach another part ot this assembly in the larger assembly. All the sub parts and the assembly show LCS's at the necessary bolt hole. I can turn them on and off in the larger assembly in the model.

Now, when I select the part that I want to attach and align with the bolt hole, none of the LCS's are in the drop down menu for the hole.

I have tried to select the hole, selected a new axis which shows up but still won't allow me to attach to the axis as it doesn't show up in the drop down menu.

Next I tried to add an LCS to the hole. Enter the name, select the hole. I get a deactivated LCS. I cannot figure out how to activate the LCS.

I have tried to create an LCS in the original assembly but it won't show up in the larger assembly.

I cannot find anything about assemblies within assemblies and LCS's.

I will try to generate an example that I can upload if needed.

I do know I can add the original parts of the small assembly and use them but that is not what would be beneficial in this case. i will need to add these assemblies to a much larger assembly as they get completed.

Thank you.

I am using 0.20.2 on Fedora 37.
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: Assembly 4 - nested assemblies and LCS

Post by ppemawm »

MeSat wrote: Sun Jan 29, 2023 10:09 pm I have tried to create an LCS in the original assembly but it won't show up in the larger assembly.
You can expose an LCS in a sub-assembly to the top assembly by using "import datum object" from the Assembly4 toolbar.
https://github.com/Zolko-123/FreeCAD_As ... _Datum.svg

: Import Datum : this imports an existing Datum object from a linked part into the assembly. Precisely, it creates a Datum in the assembly and attaches it to a datum in a sister part of the same type. By default, the same name is given to the imported Datum object.

REF https://github.com/Zolko-123/FreeCAD_As ... HMANUAL.md
"It is a poor workman who blames his tools..." ;)
MeSat
Posts: 43
Joined: Fri Jul 10, 2015 4:43 am

Re: Assembly 4 - nested assemblies and LCS

Post by MeSat »

Thank you for the answer.

I tested it. I selected the LCS for the bolt hole in the sub assembly that I wanted to align to in the major assembly. I turned on it's visibility to confirm that it was the correct LCS.
Pressed Import Datum object button and a LCS is created outside the model with the selected name in the dialogue box.
I look at it, and as before, it is deactivated. I
f I open the LCS, I cannot select any items in the model. I have a red circle with a line through by my mouse pointer.


I wonder if the issue is that this sub model has two parts that are the same but in two different locations.

I cannot test this any more today. Need to get drawings done for meeting tomorrow. Back to all in one approach for now.

Again, thank you.
Robin
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 - nested assemblies and LCS

Post by Zolko »

MeSat wrote: Mon Jan 30, 2023 4:21 am I selected the LCS for the bolt hole in the sub assembly that I wanted to align to in the major assembly
I'm not sure now, but I think you need to open the sub-assembly for that, and you need to do it in the document of the sub-assembly, and not in the document of the main assembly. If you do it in the main assembly the datum will be imported into the main assembly and it's probably not what you want.
try the Assembly4 workbench for FreCAD — tutorials here and here
MeSat
Posts: 43
Joined: Fri Jul 10, 2015 4:43 am

Re: Assembly 4 - nested assemblies and LCS

Post by MeSat »

I will have to do some tests when I have more time. Have run into some other weird issues but don't have time to look at them. i am still learning the power of Assembly 4, along with some non-logical, at least in my opinion, quirks. And this could be the reason I am having issues.

Later.
Daubsy
Posts: 2
Joined: Mon Jan 30, 2023 10:36 pm

Re: Assembly 4 - nested assemblies and LCS

Post by Daubsy »

I am having a similar issue with my project, using variant links. The LCS of inserted parts are not available in the "Attach To" menu. After reading this post, my understanding is that this is by design.

So, the correct way would be to rebuild the LCS for each variant link in the root assembly and chain them together? This seems counter-intuitive to me, since the LCS could simply be defined and subsequently reused from the original part.
DidierJ
Posts: 17
Joined: Wed Dec 23, 2020 12:20 pm
Location: Switzerland
Contact:

Re: Assembly 4 - nested assemblies and LCS

Post by DidierJ »

Daubsy wrote: Mon Jan 30, 2023 10:46 pm So, the correct way would be to rebuild the LCS for each variant link in the root assembly and chain them together? This seems counter-intuitive to me, since the LCS could simply be defined and subsequently reused from the original part.
Hi Daubsy,

That is also my opinion. The Idea of Variant Link is good. Problem hereby is, to be able to use same part with different settings the code creates "temporary copies" of the original part and gives them a generic name with index. On reload of the Assembly (after a restart of Freecad), the code recreates these temporary copies, but since the loading order might be different, the indexing is then also different.
This means, the references to the LCS becomes also scewed up.

For myself I modified the scripts in Assembly 4, so I get the LCS inside these Variant Links. You can find it here: https://github.com/juddidier/Assembly4.
Maybe it can help you out. But be warned: I didn't tested it thoroughly, and it is far from being complete. And I must have somewhere an "almost endless loop". When the ammount of variant links rises in your assembly, the speed in Freecad becomes "weeeerrrryyyy sssslooooowwww" ;) .
Daubsy
Posts: 2
Joined: Mon Jan 30, 2023 10:36 pm

Re: Assembly 4 - nested assemblies and LCS

Post by Daubsy »

DidierJ wrote: Tue Feb 21, 2023 10:27 pm Hi Daubsy,

That is also my opinion. The Idea of Variant Link is good. Problem hereby is, to be able to use same part with different settings the code creates "temporary copies" of the original part and gives them a generic name with index. On reload of the Assembly (after a restart of Freecad), the code recreates these temporary copies, but since the loading order might be different, the indexing is then also different.
This means, the references to the LCS becomes also scewed up.

For myself I modified the scripts in Assembly 4, so I get the LCS inside these Variant Links. You can find it here: https://github.com/juddidier/Assembly4.
Maybe it can help you out. But be warned: I didn't tested it thoroughly, and it is far from being complete. And I must have somewhere an "almost endless loop". When the ammount of variant links rises in your assembly, the speed in Freecad becomes "weeeerrrryyyy sssslooooowwww" ;) .
Very interesting, I will take a look. Thanks!
Post Reply