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
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Assembly 4 workbench

Post by onekk »

igorg wrote: Thu Jun 01, 2023 6:30 pm ...
Here a guy somehow managed to assemble his parts
...
As said it is not impossible to mix Part WB and Part Design WB (PD for short).

But Assembly4 (ASM4) adds some properties to his objects, so they have to be created in a peculiar way, at least the "Model Root" object should be created using proper ASM4 buttons (or in my case code).

For this I have linked in the post tutorials to see some thecniques that will work, as there are not many good tutorials around.

Mixing Part and PD object is possible but with many caveats, as a Part WB created object not always could be used as PD features or to be the base for some PD operations.

Note the "not always" that leaves some room for mixing things, but you have to be ready to change your workflow if something go wrong.

Regards.

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

igorg wrote: Thu Jun 01, 2023 6:30 pm It's bad because reading Assembly4 instructions ...
I hoped that the instructions would be clear enough :

"Please Note: only Part and Body containers at the root of a document can be inserted"

I'm a newbe in using FreeCAD
Then you'll have to learn the different meanings of "part" in FreeCAD. Yes, it's confusing, but it's not Assembly4 specific, it's some historical screw-up.
try the Assembly4 workbench for FreCAD — tutorials here and here
igorg
Posts: 6
Joined: Thu Jun 01, 2023 6:13 am

Re: Assembly 4 workbench

Post by igorg »

onekk wrote: Fri Jun 02, 2023 6:41 am ...but you have to be ready to change your workflow if something go wrong.
Thanks, I'm sure that I should go through the whole way until the very end - for to understand which way the things here work.
Because here in FreeCAD are three different incompatible assemblies and two incompatible ways for part creation. And no one (as yet) knows which of them will survive.
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Assembly 4 workbench

Post by onekk »

igorg wrote: Fri Jun 02, 2023 7:54 am ...
Because here in FreeCAD are three different incompatible assemblies and two incompatible ways for part creation. And no one (as yet) knows which of them will survive.
It is no a question about what ASM will survive, as there is not (yet) an official assembly for FreeCAD, but there are efforts on making a common assembly format that could be used by different implementation.

Incompatibile way of part creation, is a false problem.

You have:

- A "way of making thing" or better a workflow that has a precise paradigm, and this is Part Design WB with a precise workflow and a underlying 'philosophy'.

- A way near the "CAD kernel" that is Part WB, that is in good approximation the GUI translation of "CAD kernel" methods.

Second way is more free and powerful, but leaves to the user all the work, imposing less limits, and not imposing a defined workflow, that safly will mean that you have to take care if all the details, like placement, rotations and coplanarity, only to cite first things that came in my mind.

I have learned first how to model with Part WB, with scripting, and I could tell you that you have little limitations with this way, sone advantages and a mean to use all the power of FreeCAD with an optimal control and parametrization, you write a code that create your solid (or solids) and you could even reuse portions of code and rework easily even a complex thing. But you are on your own and your solids are not modifiable with GUI, if you don't program it to be manageable by the GUI.

I have learned in a second time how to program using PD WB and even ASM to create things that are modifiable by users.

Each way has his advantages, but first method is way more immediate and powerful, but very difficult to learn and teach.

Second way is more easy to teach as it is a sort o mimic of GUI very verbose and time consuming to program, but with some advantage in interoperability between GUI and program you write.

I'm developing for some customer, program to make peculiar things, and some modelling with 3d print as final destination, so end product will be STL files.

I could even teach some of these techniques, but it is a long work, as you have to be a good "spatial knowledge" and a decent geometric knowledge, but as I have an economic study background I could guess difficulties.

Sorry for the long and Off Topic post.

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Assembly 4 workbench

Post by onekk »

igorg wrote: Thu Jun 01, 2023 7:47 pm Well, I've rebuilt my parts (Part WB), now making sure pressing yellow button (New Part) after creating a new documents. And now my parts have origins in them (looking like LCS), and now those parts are seen in Insert Part dialog window. They have weird names for now, but I'm sure to deal with this. And then there comes some trick with coordinates, I need to investigate it more thoroughly.
If weird names, are as example "Sketch0002" or "cube0001" this is due to the fact that in FreeCAD you have a Name property that is created and must be unique when a DocumentObject is created to distinguish between different Documentobjects.

This could not be changed, and sometimes even if you create "by hand" and object with Python you should use a consistent name, as the Name is usually composed by a "root" followed by numbers but the "root" is used internally to find all the object of similar type, so in some cases it is best to keep this "root" unchanged.

You have the Label property that could be assigned and modified by the user, and here you will have more space to be creative, as this is what the treeview is showing to you.

This is explained somewhere in the documentation.

Hope it helps.

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
PAS_Drafter
Posts: 338
Joined: Mon Aug 02, 2021 6:29 am
Location: California, USA

Re: Assembly 4 workbench

Post by PAS_Drafter »

igorg wrote: Thu Jun 01, 2023 7:47 pm They have weird names for now, but I'm sure to deal with this.
When you say weird names, do you mean in the Assembly window where you try to link the various parts? If so, do your part names start with a number? If that is the case, try naming your parts starting with a letter. There is a known issue that when linking items that start with a number, a background problem causes them to not appear correctly.

viewtopic.php?p=671561#p671561
timetofly
Posts: 10
Joined: Sun Jul 09, 2023 1:25 am

Re: Assembly 4 workbench

Post by timetofly »

Something I don't understand in Assembly 4 is, what is the difference between making a new Part within a new document with a body, vs making a new Body? How are the two concepts used differently? For reference, I am making parts in separate bodies, then adding links to them in files dedicated to assembling them together via links.
jssilva
Posts: 5
Joined: Fri Jul 21, 2023 12:53 pm

Re: Assembly 4 workbench

Post by jssilva »

Hello,

Can anyone please point me to a Assembly 4 tutorial specific for sheetmetal?

I already asked this on generic help forum but someone said it doesn't exist.

I'm new to FreeCAD 0.20.2; I used to work with a commercial package where this is fairly easy, just pick some faces, edges or points and connect with constraints; coincidence, parallel, distance, so on.

But I'm having trouble to achieve it with ASM4. I get LCS's jumping all over the design as I change the map and reference parameters and I can't find how to fix them where I want.

I heard there are other easier assembly options, much alike what I'm used to, but I also read and reason that ASM4 is more prone to be formally adopted by FreeCAD, providing future-proof learn investment.

So, I'm starting easy, just a 3 parts metalbox (base, then top and bottom with tabs) that must be assembled together like you would do physically with point welding.

Thank you.
User avatar
rmn_hr
Posts: 110
Joined: Sun Jun 26, 2022 7:54 pm

Re: Assembly 4 workbench

Post by rmn_hr »

jssilva wrote: Fri Jul 21, 2023 5:21 pm
.... get LCS's jumping all over the design as I change the map and reference parameters ...
Don't attach LCS to edges, faces ....
The Jumping-LCS is supposable caused by toponaming.
Folding or similar SheetMetal-command alter the shape significantly and for this the internal numbering of edges, faces, ... changes also

A LCS attached to edge47 remains attached to edge47 - but a change in your design can bring edge47 to a new location.
The toponaming issue is under investigation !!

Attaching LCS to Origin (e.g. XY-Plane) and define the position of LCS relative to (0,0,0) keeps your assembly stable.
Using expressions to calculate x-, y-, z-position moves the LCS when dimensions are changed.

In my point of view, this is the most reliable way to design a stable assembly in Assembly4
Even in commercial CAD software it's recommended to attach components via axes and similar 'stable' designelements.
Had lot of fun with ProEngineer years ago ;)
My workflow: create single components in PartDesign and arrange them with Zolko's Assembly4
(https://github.com/Zolko-123/FreeCAD_Assembly4 )

FreeCAD works pretty well and stable for me !! :)
Hymn of Praise valid again since FreeCAD 0.22.35449
jssilva
Posts: 5
Joined: Fri Jul 21, 2023 12:53 pm

Re: Assembly 4 workbench

Post by jssilva »

Thank you. After spending a couple more hour struggling, I could make my first assembly.

Nevertheless, I would still like to read / watch a tutorial specific for sheet metal.
Post Reply