Assembly3 Tutorials

Discussion about the development of the Assembly workbench.
User avatar
ceremcem
Posts: 211
Joined: Sun Jan 07, 2018 11:10 am

Assembly3 Tutorials

Post by ceremcem » Wed Aug 14, 2019 10:53 pm

I've been preparing a cheatsheet-like mini tutorials/HOWTO's primarily for myself and my future colleagues: ceremcem/freecad-notes

Now I think I can assist some people while getting up and running with Assembly3 WB. My aim by this collaboration is both completing the HOWTO more efficiently and learning Asm3 much deeper by teaching.

Preferred way of discussions and requests is the "issues" section of the repo. Rest of this thread may serve as a chatroom.

Tutorials will be text and image based as much as possible. If they are not enough, short videos will be prepared. Feel free to make requests and/or contribute to the repo.
User avatar
Kunda1
Posts: 6427
Joined: Thu Jan 05, 2017 9:03 pm

Re: Assembly3 Tutorials

Post by Kunda1 » Thu Aug 15, 2019 2:44 pm

Thank you for providing your time and effort to do this!
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
freecad-heini-1
Posts: 6433
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Assembly3 Tutorials

Post by freecad-heini-1 » Fri Aug 30, 2019 9:35 am

ceremcem wrote:
Wed Aug 14, 2019 10:53 pm
I've been preparing a cheatsheet-like mini tutorials/HOWTO's primarily for myself and my future colleagues: ceremcem/freecad-notes

Now I think I can assist some people while getting up and running with Assembly3 WB. My aim by this collaboration is both completing the HOWTO more efficiently and learning Asm3 much deeper by teaching.

Preferred way of discussions and requests is the "issues" section of the repo. Rest of this thread may serve as a chatroom.

Tutorials will be text and image based as much as possible. If they are not enough, short videos will be prepared. Feel free to make requests and/or contribute to the repo.
Hello, Ceremcem,
This morning I started to do the first exercises for the Assembly 3 Workbench after the breakfast break. I use the following Appimage:

Code: Select all

OS: Ubuntu 18.04.3 LTS (XFCE/xubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16830 +1496 (Git) AppImage
Build type: release
Branch: LinkStage3
Hash: 1b29767b545440b7ab93f1a5f2b742d622f1b547
Python version: 3.7.3
Qt version: 5.9.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (en_DE)
Basis are your tutorials or exercise instructions:
https://github.com/ceremcem/freecad-notes
https://www.dropbox.com/s/k40drc9rlkflr ... n.pdf?dl=0
https://github.com/realthunder/FreeCAD_ ... ry-element

Would you be so kind as to upload your Freecad exercise parts somewhere, or is they already there somewhere and I just missed them?

A short question about inserting parts into an assembly.
So far, I've handled this as follows.
I create the parts as single parts and save them in a directory.
In the same directory I create an assembly, save it and then use the command Merge project. The parts end up in the model tree, from there I move them into the parts. Is that right, or which way would be the right one?

Many thanks and many greetings
Wilfried

Translated with www.DeepL.com/Translator
User avatar
ceremcem
Posts: 211
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 Tutorials

Post by ceremcem » Fri Aug 30, 2019 10:46 am

freecad-heini-1 wrote:
Fri Aug 30, 2019 9:35 am

Would you be so kind as to upload your Freecad exercise parts somewhere, or is they already there somewhere and I just missed them?
Currently there is no simple "Hello world" tutorials available. I created a "Building a Car" example just now: https://youtu.be/lPZi3tVbBew
A short question about inserting parts into an assembly.
So far, I've handled this as follows.
I create the parts as single parts and save them in a directory.
Correct. However, you need to encapsulate your parts into their own "Assembly Container"s. Then you can drag and drop your parts into your assembly which effectively creates links to your sub-parts.
freecad-heini-1
Posts: 6433
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Assembly3 Tutorials

Post by freecad-heini-1 » Fri Aug 30, 2019 11:40 am

ceremcem wrote:
Fri Aug 30, 2019 10:46 am
Correct. However, you need to encapsulate your parts into their own "Assembly Container"s. Then you can drag and drop your parts into your assembly which effectively creates links to your sub-parts.
Hi ceremcem,
please describe how this works.

I'm still at exercise 1, have assembled 2 different sized cubes from part, using PlaneAlignment.
The same thing I repeated with PartDesign blocks, but I used datum planes for assembling. After saving, exiting and recalling all constraints have disappeared. Probably because the assembly container you mentioned did not exist.
I think these are initial difficulties, but once they are overcome, hopefully things will go better.
Best regards
Wilfried

Supplement:
Please do not reply. I understand.
In your video I can see all this:
https://youtu.be/lPZi3tVbBew
Also how to create a "parametric copy" of a part, a "make link". Also the thing with the assembly container is shown. Very good, thank you very much. Then I will begin the next exercises

Many greetings
Wilfried
freecad-heini-1
Posts: 6433
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Assembly3 Tutorials

Post by freecad-heini-1 » Fri Aug 30, 2019 3:22 pm

ceremcem wrote: Ping
Hi Ceremcem,
unfortunately I still have an understanding problem concerning the fully parametric changeability between single part and assembly.

Suppose I created part 1, a cuboid, and part 2, a cylinder in the PartDesign Workbench.
I save both files in one directory.

Now I create a new ASM3 assembly and integrate the cuboid and save it in the same directory.
I do the same procedure with the cylinder.

I leave all documents open and now create new ASM3 files, with assembly and save it. For the cuboid and the cylinder.

Now comes the first question.
I can merge both parts, or drag and drop the respective bodies into the parts of the assembly.
What's the right way?

Next, I save. I get a message if external dependencies should be saved. Sorry because of different words, English to German.

Question 2, if I now call up the cuboid as PartDesign part, change the dimensions of a sketch and change a height, how does the assembly find out about the change, or vice versa?
How exactly does this work with bidirectional associativity?

Which switches are there to synchronize / update everything with each other?

What do you have to avoid in any case - and what do you have to pay special attention to?

Sorry - but I experiment with exactly these things, sometimes it succeeds and then unfortunately again no more.

I uninstalled Part-o-magic. With that it seems to work better.

What is the exact procedure when adding a feature, for example a chamfer or a radius?
Or you delete a hole, a groove, or a pocket in the part. How does the assembly know?

I would like to hear from you and thank you for your efforts.

Many thanks and many greetings
Wilfried
User avatar
ceremcem
Posts: 211
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 Tutorials

Post by ceremcem » Fri Aug 30, 2019 4:15 pm

I can merge both parts, or drag and drop the respective bodies into the parts of the assembly.
What's the right way?
You shouldn't merge the projects (File -> Merge project), it's out of our context and I'd never used it. Correct way is dragging and dropping respective Assembly Containers into your main assembly.
Next, I save. I get a message if external dependencies should be saved.
Answer as "yes" :) This means that you have some more changes to be saved which relates to your current assembly.

Question 2, if I now call up the cuboid as PartDesign part, change the dimensions of a sketch and change a height, how does the assembly find out about the change, or vice versa?
How exactly does this work with bidirectional associativity?
I'm unable to understand the problem here. Please explain it with a few screenshots.
Which switches are there to synchronize / update everything with each other?
update.png
update.png (71.43 KiB) Viewed 1615 times
You need to turn on the button 3 and 4. Those are sufficient to recompute the constraints on change. If you want to calculate them manually, you can use button 2 or button 1 (button 2 is a relatively new feature and is doing the same job faster: https://github.com/realthunder/FreeCAD_ ... -422368807).
What do you have to avoid in any case - and what do you have to pay special attention to?
We'll eventually see them in real-life examples. One thing I could remember is that you shouldn't use App::Part containers (Part WB -> yellow block)
app-part.png
app-part.png (6.04 KiB) Viewed 1615 times

Use "Assembly Container"s instead.

What is the exact procedure when adding a feature, for example a chamfer or a radius?
Or you delete a hole, a groove, or a pocket in the part. How does the assembly know?
Just apply any features as usual. One thing you'll eventually notice is that despite the improvements on the topological naming approach, it's always better to create constraints between "earlier stages of features". For example, if you have a part created with PartDesign WB that is a cube with hole, you should better create a constraint by using "the cube" before the "hole feature" stage.

I think it's better to understand those with trial and error. Create something that introduces an unexpected result to you, then we can better discuss.
User avatar
ceremcem
Posts: 211
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 Tutorials

Post by ceremcem » Fri Aug 30, 2019 5:44 pm

Kunda1 wrote:
Thu Aug 15, 2019 2:44 pm
Thank you for providing your time and effort to do this!
It's my pleasure, btw.
freecad-heini-1
Posts: 6433
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Assembly3 Tutorials

Post by freecad-heini-1 » Mon Sep 02, 2019 2:05 pm

ceremcem wrote: A short question
How can two cube surfaces be counter-aligned or aligned?
User avatar
ceremcem
Posts: 211
Joined: Sun Jan 07, 2018 11:10 am

Re: Assembly3 Tutorials

Post by ceremcem » Tue Sep 03, 2019 6:27 am

freecad-heini-1 wrote:
Mon Sep 02, 2019 2:05 pm
ceremcem wrote: A short question
How can two cube surfaces be counter-aligned or aligned?
The document is very outdated, but still helpful on this topic: https://www.dropbox.com/s/k40drc9rlkflr ... n.pdf?dl=0

You can select both surfaces and add a "PlaneAlignment Constraint".
Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests