Assembly 4 workbench

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Grawp
Posts: 45
Joined: Sat Mar 03, 2018 9:34 am

Re: Assembly 4 workbench

Post by Grawp »

Hello,
I'm trying to use ASM4 for a simple task of modelling an enclosure for Raspberry Pi.
I have
  • a simple model of raspberry
  • a skeleton of the top part of the box
  • a skeleton of the bottom part of the box
and all these parts I have placed using the ASM4 into a Model.
Screenshot_20200917_225134.png
Screenshot_20200917_225134.png (62.58 KiB) Viewed 2468 times
I want to continue modelling the top and bottom part like:
  • Make little columns with mounting holes in the bottom part.
  • Change the top part to have a cutout for the ethernet port.
My problem is that I can't use SubShape Binder to e.g. bring those holes on the RPi to the bottom part because it would create cyclic dependency.

I really want the placement of the RPi in the skeleton box drive the placement of other more complicated features in the final box.

Can somebody recommend me some workflow how to do that? I'm out of ideas :(
The models are attached.

Edit: I've been thinking about it and conceptually there should not be a dependency cycle.
RPi is positioned using first features / datum planes in the bottom part of the box and then geometry from the placed RPi would be brought back to the bottom part and mounting holes and spacers would be made depending on previous feature in the bottom part and geometry from placed RPi which is depended on the same first features / datum planes. No conceptual cycle there, just a dependency diamond.
Attachments
box.FCStd
(35.14 KiB) Downloaded 44 times
rpi.FCStd
(25.1 KiB) Downloaded 43 times
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

Grawp wrote: Thu Sep 17, 2020 9:10 pm I've been thinking about it and conceptually there should not be a dependency cycle.
Many users have come with the same question, but this is a yet unsolved problem. You are right that there is no conceptual cyclic dependency in the features, but FreeCAD considers documents in its analysis of dependency, not the inner features, therefore it doesn't allow it.

What you can try is to create datum points on the relevant features of the RPi inside the RPi document, import (link) the RPi (Part) into an Asm4 Model, import the RPi datum points into the Model (there is a button for that), and create the solids (Bodies ?) for the housing inside the Asm4 Model using these points. So the RPi would be assembled into the housing, and the housing designed around it.

It would be nice to hear back from you whether this works.
try the Assembly4 workbench for FreCAD — tutorials here and here
Grawp
Posts: 45
Joined: Sat Mar 03, 2018 9:34 am

Re: Assembly 4 workbench

Post by Grawp »

Zolko wrote: Sat Sep 19, 2020 9:01 am You are right that there is no conceptual cyclic dependency in the features, but FreeCAD considers documents in its analysis of dependency, not the inner features, therefore it doesn't allow it.
Yess, thank you for confirming this.

As for the suggested workaround when I try it I'll let you know.
User avatar
openfablab
Posts: 62
Joined: Wed Nov 02, 2016 4:42 pm
Contact:

Re: Assembly 4 workbench

Post by openfablab »

Experimenting with multi-level subassemblies I found that in Assembly4 we are urged to manually close every part file even if we did not modified it. It is not too convenient even with 10 parts (it is easier to restart application)... but with 100 parts it would be impossible. Is it normal behavior or I miss something? Or may be there is some button "close everything"?
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

openfablab wrote: Mon Sep 21, 2020 6:35 am Experimenting with multi-level subassemblies I found that in Assembly4
nice, could you please show the Model tree ?

openfablab wrote: Mon Sep 21, 2020 6:35 am every part file even if we did not modified it.
There is a misunderstanding here: if you recompute a part, then it's considered modified by FreeCAD, even you didn't modify the design.

openfablab wrote: Mon Sep 21, 2020 6:35 am It is not too convenient even with 10 parts (it is easier to restart application)... but with 100 parts it would be impossible. Is it normal behavior or I miss something? Or may be there is some button "close everything"?
it's the "normal" App::Link behaviour currently.

What I do is to quit FreeCAD, which gives you an "Apply to all" check-box. You're right that this should be improved, but it's a general FreeCAD stuff, not specific to Assembly4, therefore I invite you to post a feature-request in the Open Discussion forum.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
openfablab
Posts: 62
Joined: Wed Nov 02, 2016 4:42 pm
Contact:

Re: Assembly 4 workbench

Post by openfablab »

Zolko wrote: Mon Sep 21, 2020 9:56 am nice, could you please show the Model tree ?
May be tomorrow: now I have no access to that computer.

Zolko wrote: Mon Sep 21, 2020 9:56 am
openfablab wrote: Mon Sep 21, 2020 6:35 am It is not too convenient even with 10 parts (it is easier to restart application)... but with 100 parts it would be impossible. Is it normal behavior or I miss something? Or may be there is some button "close everything"?
it's the "normal" App::Link behaviour currently.

What I do is to quit FreeCAD, which gives you an "Apply to all" check-box. You're right that this should be improved, but it's a general FreeCAD stuff, not specific to Assembly4, therefore I invite you to post a feature-request in the Open Discussion forum.
I see. Please check my message at that topic, is my analysis of situation with different assembly workflows correct?
https://forum.freecadweb.org/viewtopic. ... 64#p432364
User avatar
openfablab
Posts: 62
Joined: Wed Nov 02, 2016 4:42 pm
Contact:

Re: Assembly 4 workbench

Post by openfablab »

Zolko wrote: Mon Sep 21, 2020 9:56 am
openfablab wrote: Mon Sep 21, 2020 6:35 am Experimenting with multi-level subassemblies I found that in Assembly4
nice, could you please show the Model tree ?
It is here:
Attachments
Screenshot_2020-09-22_21-26-52.png
Screenshot_2020-09-22_21-26-52.png (104 KiB) Viewed 2084 times
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Assembly 4 workbench

Post by bambuko »

It is very basic question, so maybe it should be elsewhere?
If so I apologise...

When I fire FreeCAD and select Assembly 4 workbench, I get following reports:

Code: Select all

17:27:03  Unknown command 'Part_Import'
17:27:03  Unknown command 'Asm4_insertRod'
17:27:03  Unknown command 'Asm4_FSparameters'
I wonder if someone has a clue what I am doing wrong, please?
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22474 (Git)
Build type: Release
Branch: master
Hash: a44f8ffd427fa9b23b1f00dbf62d66cd152cd774
Python version: 3.8.5
Qt version: 5.12.6
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United Kingdom (en_GB)
Last edited by bambuko on Thu Sep 24, 2020 6:24 pm, edited 1 time in total.
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Assembly 4 workbench

Post by Kunda1 »

bambuko wrote: Thu Sep 24, 2020 4:32 pm I wonder if someone has a clue what I am doing wrong, please?
Post your About info
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
louisgag
Posts: 75
Joined: Fri Jan 17, 2020 9:59 am

Re: Assembly 4 workbench

Post by louisgag »

never saw it lead to problems, but I also have a similar message:

Code: Select all

Unknown command 'Asm4_insertRod'
Unknown command 'Asm4_FSparameters'
OS: Ubuntu 20.04.1 LTS (ubuntu:GNOME/ubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Branch: unknown
Hash: 2b676020d2afe38216166fd074ef131e11df1ce3
Python version: 3.8.2
Qt version: 5.12.8
Coin version: 4.0.0
OCC version: 7.3.0
Locale: C/Default (C)
Post Reply