Assembly 4 workbench

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
totalcad
Posts: 70
Joined: Sun Oct 20, 2019 9:09 pm

Re: Assembly 4 workbench

Post by totalcad »

Hello Zolko & everybody!
I'm making an assembly with the same type parts and often the situation needs to change one part to another. These parts I've made as a continuation from one beginning part, which has the same geometry and LCS in the connection section:
https://yadi.sk/i/Pwbof24Rruli9A
Is there any way to replace such parts one to another in the assembly? For example if some assembly became very complex and some parts need to be replaced in many places. I mean some kind of multiple selection of the same parts in the assembly and change them to another part with the same topology.
Thanks!
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

totalcad wrote: Wed Oct 28, 2020 6:30 pm Is there any way to replace such parts one to another in the assembly ?
This is a FreeCAD built-in function: select the link in the assembly tree, in the property window, in the LinkedObject property, click on the small button with ... , this will bring up a window with all the available objects to select from (you can filter by type, choose App::Part) and you can here select a new object


changeLinkedObject.png
changeLinkedObject.png (352.25 KiB) Viewed 7750 times
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
totalcad
Posts: 70
Joined: Sun Oct 20, 2019 9:09 pm

Re: Assembly 4 workbench

Post by totalcad »

This is a FreeCAD built-in function: select the link in the assembly tree, in the property window, in the LinkedObject property, click on the small button with ... , this will bring up a window with all the available objects to select from (you can filter by type, choose App::Part) and you can here select a new object
Super super! Zolko a big thank you! Everything works, even for multi selected objects (parts)!!
One only thing I need to re-Label the re-linked parts - this is the reason for the next question:
is it possible to make an automatic re-Labeling links with the names of chosen parts in future (do you plan)?
User avatar
totalcad
Posts: 70
Joined: Sun Oct 20, 2019 9:09 pm

Re: Assembly 4 workbench

Post by totalcad »

Also (it's just an idea): when we add a new part to assembly - to add an automatic suffix "_1", "_2", "_..." to part's links labels.

If we have one part file, but many links to only this part - may be this could be useful automatic re-labeling with suffixes "_1", "_2", "_..." and use only the name of the inserted (linked) part. This approach could avoid us from maze of link's labels and part's names/labels... when assembly will grow up to big.
User avatar
totalcad
Posts: 70
Joined: Sun Oct 20, 2019 9:09 pm

Re: Assembly 4 workbench

Post by totalcad »

Sorry for so much ideas:))) I hope this could at least little useful and not annoying.)

Next Idea: I've tested your "Part List/BOM" button. Very informative list, thanks! Just if it cold be modified in the future - it could be useful to define unique parts and their quantity in the assembly. I don't know how this works, but if the "Part List/BOM" function uses link's labels - there can appear a problem with the defining of the uniqueness and repeatability of parts.
The idea is to add some table/list to a part file containing few parameters (length of pad, any dimension from Sketch, etc..), and use them in the assembly's "Part List/BOM".
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

totalcad wrote: Thu Oct 29, 2020 6:55 pm when we add a new part to assembly - to add an automatic suffix "_1", "_2", "_..." to part's links labels.
this exists already: not for the first link (..._1), that one the user has to do by hand, because everybody has his own habits of naming parts, files, links, ... and also because some parts will be inserted only once, and others will be used like ..._left / ..._right, ..._up/..._down

But if you select a link called ..._1 and click "insert part" then a link to the same part will be created and called ..._2. So if you have 4 legs to insert, you'll have to do the naming for the first one (leg_1) and then all others will follow automagically.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
totalcad
Posts: 70
Joined: Sun Oct 20, 2019 9:09 pm

Re: Assembly 4 workbench

Post by totalcad »

But if you select a link called ..._1 and click "insert part" then a link to the same part will be created and called ..._2.
Ah! I understood what I did not well correct. I used parts made by Part Design, an therefore the automatic suffix was like " #Body ". But when I use Part made by ASM4 - suffixes added as you've described. Also I've noticed when I don't add any suffix in the fist part - the next parts have additions like: 001, 002, 003 ... - super! - I've found this way the most quick & comfortable - THANKS! ))
cos4
Posts: 15
Joined: Wed Feb 05, 2020 8:37 pm

Re: Assembly 4 workbench

Post by cos4 »

Is there any way to share (link) variables between (sub-)assemblies and/or parts in separate files (or link Spreadsheets into an Assembly4 part)?
I'm currently trying to port my project to assembly4. It consists of many parts which are assembled in different sub-assemblies and then joined in one big assembly. All parts are stored in separate files.
goopypanther
Posts: 5
Joined: Mon Nov 02, 2020 7:54 am

Re: Assembly 4 workbench

Post by goopypanther »

I recently updated from an old version of assembly4 (0.7 or so) to 0.9.9 and I noticed a change in the behavior of the LCS creation shortcut buttons.

Previous to v0.9 the "New Hole LCS" button created an LCS concentric to the selected hole. This was super useful as the vast majority of LCS's I create are intended to attach fasteners or align parts using their mounting holes and I could do it with just two clicks, or one and the keyboard shortcut.

Starting in v0.9 the button was changed to "New Hole Axis" and now creates a datum line on the axis of curvature of the selected hole. The specific lines are highlighted here in the newDatumCmd.py file.

The change throws a monkey-wrench in my workflow, I can't figure out what I'm supposed to do with a datum line. Now to create an LCS concentric with a hole I have to deselect everything, click New LCS, accept the name, click the hole, specify concentricity, hit okay...its a bit of a drag.

I suspect this was changed for some good reason, but I'm not clear on what the intended workflow is. So far I haven't found any mention of attachments to datum lines or changes to how LCSs behave around holes in any documentation but this is a fairly recent change and I know it usually lags behind by a bit. Is the shortcut meant to be used for creating a rotation axis for animated assemblies?

I'd feel kinda bad submitting a pull request that just reverts zolko's change without understanding why it was made. Would it be better for me to create a PR for an entirely new shortcut that has the behavior of the pre-v0.9 "New Hole LCS" button?
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

goopypanther wrote: Mon Nov 02, 2020 9:00 am The change throws a monkey-wrench in my workflow, I can't figure out what I'm supposed to do with a datum line.
...
I suspect this was changed for some good reason, but I'm not clear on what the intended workflow is.
Holy crap ... erm ... sorry for that ... the "good" reason might no be very good, it's mostly visual, to make the difference between "proper" LCS and those that only serve as fixation points for fasteners. I felt that making a visual distinction was a useful feature. But may-be it backfired. Another reason was that mechanically a hole is more of an axis than an LCS, but the difference hasn't been implemented in software. Also, I'm not sure it's actually possible.

From a technical side, a datum axis is the same as a datum LCS, and the "Place Fastener" command can attach Fasteners to datum axes, but not "Place Link" command which only considers LCS.

So ... should we revert to "Make Hole LCS" or keep "Make Hole Axis" ?
try the Assembly4 workbench for FreCAD — tutorials here and here
Post Reply