Thanks for your further explanations - you are confirming my thoughts about how to use the "Part" container here!
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!
- FreeCutter
- Posts: 93
- Joined: Mon Aug 26, 2019 5:52 pm
- Location: Germany
- Contact:
Re: Assembly 4 workbench
- FreeCutter
- Posts: 93
- Joined: Mon Aug 26, 2019 5:52 pm
- Location: Germany
- Contact:
Re: Assembly 4 workbench
Hello @Zolko,
regarding 'Import Datum Object' please let me suggest the following:
Importing a LCS from one to another assembly and e.g. deleting the preset Label I do not see to which orginal LCS this import refers to.
Could that "Contected to" info be shown for instance in the Property-View in line 'Attached to' as the originally nominated name/label of the LCS is still available?
Or even more convenient a button like "Edit Imported Datum Object" is added which opens a Task dialog similar to 'Edit Placement of a Part' ?
Furthermore, maybe the handling of imported LCS is changed more generally to "linked" ones right from the start:
1. Assuming there is a button "Insert Link to Datum Object", similar to 'Insert Link to a Part'.
2. Click on that button opens extra window 'Insert a Datum Object' with list of all available datum objects in linked assemblies.
3. Selecting datum object (e.g. a LCS) suggests a 'Name for the link' which could be adjusted (once) here. Suggested name is generated as currently in 'Import Datum' dialog.
4. Changes to this linked datum object (in the tree view the sign ">" is added to the LCS icon) are done by click on 'Edit Imported Datum Object' (as indicated above).
regarding 'Import Datum Object' please let me suggest the following:
Importing a LCS from one to another assembly and e.g. deleting the preset Label I do not see to which orginal LCS this import refers to.
Could that "Contected to" info be shown for instance in the Property-View in line 'Attached to' as the originally nominated name/label of the LCS is still available?
Or even more convenient a button like "Edit Imported Datum Object" is added which opens a Task dialog similar to 'Edit Placement of a Part' ?
Furthermore, maybe the handling of imported LCS is changed more generally to "linked" ones right from the start:
1. Assuming there is a button "Insert Link to Datum Object", similar to 'Insert Link to a Part'.
2. Click on that button opens extra window 'Insert a Datum Object' with list of all available datum objects in linked assemblies.
3. Selecting datum object (e.g. a LCS) suggests a 'Name for the link' which could be adjusted (once) here. Suggested name is generated as currently in 'Import Datum' dialog.
4. Changes to this linked datum object (in the tree view the sign ">" is added to the LCS icon) are done by click on 'Edit Imported Datum Object' (as indicated above).
Re: Assembly 4 workbench
Zolko, thanks for implementation pre-defined offered name of a new part - in v.0.11.1 - works as I've expected!! I just select desired part in the list and press Enter - an assembly gets the part with the name of "Part" without redundant "file" name etc.
Thank you!
Re: Assembly 4 workbench
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.
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)
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!]
- FreeCutter
- Posts: 93
- Joined: Mon Aug 26, 2019 5:52 pm
- Location: Germany
- Contact:
Re: Assembly 4 workbench
Working with v0.11.3 and FreeCAD version as below I have the following question:
Why is the "Variables" elemenent no longer set by default once a 'New Assembly' is introduced?
Currently I have the following issue in my workflow:
In older versions I remember that once a new assembly had been introduced the "Variables" element had been introduced by default.
In other words missing of "Variables" by default seems to be the bug?
Thanks for fixing in case it's actually a bug.
Cheers,
FreeCutter
Why is the "Variables" elemenent no longer set by default once a 'New Assembly' is introduced?
Currently I have the following issue in my workflow:
- A variable is is introduced in an Assembly and "Animate Assembly" gets available and could be used without any issue.
- This assembly is inserted to another Main-Assembly.
- In the main-assembly the "animate assembly" is deactivated.
- As soon as a variable is introduced to the main-assembly (or 'Add Variable' is clicked and without setting a 'Name' the OK is clicked) the function "animate assembly" is getting available as well as the variable from sub-assembly could be reached and used for the animation.
In older versions I remember that once a new assembly had been introduced the "Variables" element had been introduced by default.
In other words missing of "Variables" by default seems to be the bug?
Thanks for fixing in case it's actually a bug.
Cheers,
FreeCutter
Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.25645 (Git)
Build type: Release
Branch: master
Hash: 37d9757399b4c2ec30318eb88d7cd7c508246345
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: German/Germany (de_DE)
Re: Assembly 4 workbench
a new version v0.11.4 is out, and this reverts to the previous behavior. Please update and test, and report if the problem persistsFreeCutter wrote: ↑Sat Oct 16, 2021 12:38 pm Why is the "Variables" elemenent no longer set by default once a 'New Assembly' is introduced?
- FreeCutter
- Posts: 93
- Joined: Mon Aug 26, 2019 5:52 pm
- Location: Germany
- Contact:
Re: Assembly 4 workbench
Thanks a lot!Zolko wrote: ↑Mon Oct 18, 2021 9:58 ama new version v0.11.4 is out, and this reverts to the previous behavior. Please update and test, and report if the problem persistsFreeCutter wrote: ↑Sat Oct 16, 2021 12:38 pm Why is the "Variables" elemenent no longer set by default once a 'New Assembly' is introduced?
Tested and it is just working fine!
Cheers!
FreeCutter
Re: Assembly 4 workbench
@Zolko, hello!
A question about LCS hierarchy///
As I know: to use LCS(s) which are belong to sub-assembly's Part - we need to use "Import" function - that makes a duplicated LCS(s) in the root of sub-assembly. Very often I make some sub-assemblies with more than 10 Parts containing LCS(s) that I use in the main assembly. And every time I add a new Part to sub-assembly - I need to make a new Imported copy in the root. Also if we want to make some cascade of sub-assemblies (one inside another) - we always need to make a next LCS's hierarchy level (also the names of LSC complicate with a new level).
Did you think about the "through" model of LCS's access hierarchy?
Is it a deliberate decision to "lock" the Part's LCS(s) inside the sub-assembly or it's a technical difficulty?
Good day &Thanks!
A question about LCS hierarchy///
As I know: to use LCS(s) which are belong to sub-assembly's Part - we need to use "Import" function - that makes a duplicated LCS(s) in the root of sub-assembly. Very often I make some sub-assemblies with more than 10 Parts containing LCS(s) that I use in the main assembly. And every time I add a new Part to sub-assembly - I need to make a new Imported copy in the root. Also if we want to make some cascade of sub-assemblies (one inside another) - we always need to make a next LCS's hierarchy level (also the names of LSC complicate with a new level).
Did you think about the "through" model of LCS's access hierarchy?
Is it a deliberate decision to "lock" the Part's LCS(s) inside the sub-assembly or it's a technical difficulty?
Good day &Thanks!
Re: Assembly 4 workbench
I 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 ?
it exists now for the import of LCSs (and datums in general): you can "jump" several levels at once, and import an LCS from a part in a sub-sub-sub-assembly into the top-level assembly in 1 go. Simply select a datum in a child part somewhere in the tree (including links) and an identical datum will be created in the root assembly. It's actually possible to do it in 1 step for many LCSs, see https://github.com/Zolko-123/FreeCAD_Assembly4/pull/249 . If it doesn't work it's a bug and please report.Did you think about the "through" model of LCS's access hierarchy?
both: 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?
Re: Assembly 4 workbench
Ow!! Cool! I didn't know. Need to try! Great thanks, Zolko!Zolko wrote: ↑Thu Oct 21, 2021 10:43 amit exists now for the import of LCSs (and datums in general): you can "jump" several levels at once, and import an LCS from a part in a sub-sub-sub-assembly into the top-level assembly in 1 go. Simply select a datum in a child part somewhere in the tree (including links) and an identical datum will be created in the root assembly. It's actually possible to do it in 1 step for many LCSs, see https://github.com/Zolko-123/FreeCAD_Assembly4/pull/249 . If it doesn't work it's a bug and please report.Did you think about the "through" model of LCS's access hierarchy?