An example few level hierarchy (I follow the real-world welding process steps: 1)weld side frames -> 2)weld whole frame -> 3)assemble main (whole)frame+boards+bolts ):Zolko wrote: ↑Thu Oct 21, 2021 10:43 amI fail to see your workflow. I tend to make logical and hierarchical sub-assemblies that are as much as possible self-contained, and thus need little information from other sub-assemblies. Do you have a real-world example where you would need to import 10s of LCS from parts into the sub-assembly to be used in the main assembly ?
Assembly 4 workbench
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Assembly 4 workbench
Re: Assembly 4 workbench
An example of more than 10 parts (I don't give up hope to find a comfortable workflow to count electric equipment&cables one day. In this example I assemble an electric box with breakers as particular asm (every breaker has an "out" for cable, which I'm going to construct in-context of Asm4). After I can put this (sub)assembled box into the main assembly of a kitchen, connect the cables with "outs" and use BOM (to count the total length of cables, quantity of equipment etc...):
Re: Assembly 4 workbench
"RELIABILITY was a key target"Zolko wrote: ↑Thu Oct 21, 2021 10:43 amboth: it is doable as a such, but leads to complications in the code that must be able to deal with any possible combination (how many levels would be allowed ? 2 ? 3 ? infinity ?). Also, my point was to be simple and reliable, and still cover 99% of real-world use-cases. I'm a mechanical engineer initially, I didn't intend to make a workbench at the beginning, it just happened. RELIABILITY was a key target, at the sacrifice of functionality and/or comfort.Is it a deliberate decision to "lock" the Part's LCS(s) inside the sub-assembly or it's a technical difficulty?
- strong encourage!! Thank you for the detailed explanation!
Just I thought to be on the safe side to ask the reason. May be you didn't look at this from such side... and this feature could be not so difficult to implement. When I started to use sub-assemblies the first time I tried to pick the desired LCS not thinking about hierarchy at all - 'just select"... And after I had known about the "Import" function. I had thought such workflow has some reason and asked.
But one useful thing about "Import" approach I've found: we have a separate bunch of LCS(s) in the root of sub-assembly and there's no reason to find them inside the sub-assembly's structure.
Anyway I'm very grateful for your work as it is now! Really good tool! Good luck and mode, Zolko! Thank you very much!
P/s: also the main reason I was interested in Asm4 the first time - the reliability and avoiding the "topological" issues in FC.))
Re: Assembly 4 workbench
I think I realized the difference between mechanical engineering and design engineering.
I'm fond of design in different areas: building, interior, exterior, some exclusive decorative arrays and stuff... And of coarse, one of my needs - quantity parameters besides the design visualizations. Even in some cases I don't need any "parametric connections" between parts.
As I understood (only now) the Asm4's aim is a mechanical approach and all stuff that interior and exterior design can get from Asm4 - just some kind of "side effect". I didn't realize it right away. Sorry:)) If you have more interesting thinks to do, just ignore my past posts...
Thanks for a wide range of responsiveness , Zolko!
I'm fond of design in different areas: building, interior, exterior, some exclusive decorative arrays and stuff... And of coarse, one of my needs - quantity parameters besides the design visualizations. Even in some cases I don't need any "parametric connections" between parts.
As I understood (only now) the Asm4's aim is a mechanical approach and all stuff that interior and exterior design can get from Asm4 - just some kind of "side effect". I didn't realize it right away. Sorry:)) If you have more interesting thinks to do, just ignore my past posts...
Thanks for a wide range of responsiveness , Zolko!
Re: Assembly 4 workbench
Hello,Zolko wrote: ↑Fri Oct 08, 2021 9:41 am Hello,
there is a new version out: v0.11.2
it has improved BOM and PartInfo features (thanx FarmingSoul and totalcad), multiple datum imports (thanx abetis), added "Open File" when inserting a link (copied from A2+ thanx kbwbe),
and variantLinks ! Also see here and here . This is still experimantal, please use with caution. Usage is:
and that's it. Only App::Parts (Std_Part) that have a "Variables" property container can be used as source object. These variables are duplicated in the variant, and can be set independently IN the variant. If you insert 5 variants of the same source object, you can set 5 different values to its variables. These values are persistent, meaning that they are restored when the document is restored. This variant link can be placed as any normal link, but, since it's constructed at run-time, it's not possible to link something TO it. In other words, it's necessarily a leaf in the assembly tree. There still is a problem when restoring an assembly with variant links, you can ignore this (I will have to find a way to intercept this error)
Please update, test and report any (other) errors you may encounter.Code: Select all
Exception opening file: /tmp/FreeCAD_Doc_df2f292d-8f22-4df3-b630-063d76f713be_da39a3_3516 [File '/tmp/FreeCAD_Doc_df2f292d-8f22-4df3-b630-063d76f713be_da39a3_3516' does not exist!] Exception opening file: /tmp/FreeCAD_Doc_2ea51969-ff6e-43d5-afb6-506afe634f7f_da39a3_3516 [File '/tmp/FreeCAD_Doc_2ea51969-ff6e-43d5-afb6-506afe634f7f_da39a3_3516' does not exist!]
there's a BUG in the "Variant Link" objects, I'll try to explain.
I've new saved Assembly4 Freecad project ready to assemble with my child objects, and my these objects are made of one Freecad design that contain a Tslot profile (with only variable ProfileLenght made by myself).
Trying to insert the first "Variant Part" works correctly because I "must" attach its LCS1 to the main "LCS_main" of Freecad assembly; the issue shows when I try to insert the second "Variant Part" and attach its "LCS2" with the child "LCS1" because the import panel only shows in the "Attach To" selection "Parent Assembly"... there's no other childs object to attach to.
No errors or issues when I use the standard button "Insert Link to a Part", but in this way I cannot define the customized length of each different profile in my design, I would like to make a configurable chassis for my 3D printer (length, width, and depth mainly).
Freecad version: Freecad Link Daily 2012.10.15
Is there any way to correct these bug please?
- Attachments
-
- imagetslot.jpg (100.46 KiB) Viewed 8060 times
-
- imageError.jpg (173.51 KiB) Viewed 8060 times
Re: Assembly 4 workbench
Thank-you for testing and reporting. This is not a bug, it's documented in the message that you quoted:Alex76 wrote: ↑Mon Oct 25, 2021 9:11 am there's a BUG in the "Variant Link" objects, I'll try to explain.
...
the issue shows when I try to insert the second "Variant Part" and attach its "LCS2" with the child "LCS1" because the import panel only shows in the "Attach To" selection "Parent Assembly"... there's no other childs object to attach to.
What you should do is to work with master sketches and variables: set the length (and other parameters) of your frame as variables, draw the sketches based on those variables, set the attachment LCS of all variant links on those sketches, and insert the variant profiles attaching them to the LCSs, and set the length of the profiles as per those variables.
meaning in your case that you must set the LCS_main2 in the assembly, with parameters derived from your variables. As you do with the length of profile 1 I guess.
Does that make sense ?
Re: Assembly 4 workbench
I unsderstand your answer in the first part, I miss to read some info about the new "Variant part" (sorry for that....)Zolko wrote: ↑Mon Oct 25, 2021 9:31 amThank-you for testing and reporting. This is not a bug, it's documented in the message that you quoted:Alex76 wrote: ↑Mon Oct 25, 2021 9:11 am there's a BUG in the "Variant Link" objects, I'll try to explain.
...
the issue shows when I try to insert the second "Variant Part" and attach its "LCS2" with the child "LCS1" because the import panel only shows in the "Attach To" selection "Parent Assembly"... there's no other childs object to attach to.
What you should do is to work with master sketches and variables: set the length (and other parameters) of your frame as variables, draw the sketches based on those variables, set the attachment LCS of all variant links on those sketches, and insert the variant profiles attaching them to the LCSs, and set the length of the profiles as per those variables.
meaning in your case that you must set the LCS_main2 in the assembly, with parameters derived from your variables. As you do with the length of profile 1 I guess.
Does that make sense ?
I don't understand the second answer to my question, my goal is to assembly a chassis like a one in the attached picture. I want to have only one FC design of a single TSLOT profile, and have the main freecad desing with the previous part "repeated" for each axis in the length I required... in this way I can specify the MAIN length/witdh/depth (with 3 variables i.e. for the main assembly) of the chassis leaving to freecad the recompute work to adapt the sizes of the chassis. Like a parametric design if you understand....
Now the only way to to this, is to save a freecad file for each profile in the picture, and then assembly in a Freecad main project (I think...)
- Attachments
-
- Vslot_2040_Profile.FCStd
- (142.52 KiB) Downloaded 71 times
-
- chassis.jpg (86.37 KiB) Viewed 8033 times
Re: Assembly 4 workbench
yes, that's what variant links are for, exactly.
The basic step for this – please remember that this feature is still marked experimental – is to draw the frame of your machine as sketches in the main assembly (something that we call "master sketches"), set LCS on the intersections as necessary, and insert as many variant links of the one and same FCStd file as you have segments, setting the length as needed.
What I was saying is that you can adjust the length of each segment manually, or, if you build your model in a more sophisticated way, you can calculate the length of each segment automagically and set only the variables length and width in the main assembly. Depending on how proficient you are with FreeCAD, it might be safer to choose the first option: set the length of each segment manually (EDIT: you can adjust this length for each segment later as you need). But they will all link to a single source profile, and they will all attach to LCSs in the main assembly.
You're the first to make use of this feature (apart from me), so you might run into unexpected territory: please report any problems that you encounter.
Re: Assembly 4 workbench
I'm not sure I understand, can you please attach me an example with my file modified?Zolko wrote: ↑Mon Oct 25, 2021 10:25 amyes, that's what variant links are for, exactly.
The basic step for this – please remember that this feature is still marked experimental – is to draw the frame of your machine as sketches in the main assembly (something that we call "master sketches"), set LCS on the intersections as necessary, and insert as many variant links of the one and same FCStd file as you have segments, setting the length as needed.
What I was saying is that you can adjust the length of each segment manually, or, if you build your model in a more sophisticated way, you can calculate the length of each segment automagically and set only the variables length and width in the main assembly. Depending on how proficient you are with FreeCAD, it might be safer to choose the first option: set the length of each segment manually (EDIT: you can adjust this length for each segment later as you need). But they will all link to a single source profile, and they will all attach to LCSs in the main assembly.
You're the first to make use of this feature (apart from me), so you might run into unexpected territory: please report any problems that you encounter.
- Attachments
-
- Vslot_2040_Profile.FCStd
- (142.52 KiB) Downloaded 73 times
Re: Assembly 4 workbench
The assembly and part must be in separate files. Put them in the same directory and open the assembly.
- Attachments
-
- Beam_30x30.FCStd
- (76.25 KiB) Downloaded 89 times
-
- Asm_Structure.FCStd
- (20.99 KiB) Downloaded 84 times