Assembly 4 workbench

Discussion about the development of the Assembly workbench.
Grawp
Posts: 30
Joined: Sat Mar 03, 2018 9:34 am

Re: Assembly 4 workbench

Postby Grawp » Thu Sep 17, 2020 9:10 pm

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 790 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 6 times
rpi.FCStd
(25.1 KiB) Downloaded 5 times
User avatar
Zolko
Posts: 1101
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Postby Zolko » Sat Sep 19, 2020 9:01 am

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 v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here
Grawp
Posts: 30
Joined: Sat Mar 03, 2018 9:34 am

Re: Assembly 4 workbench

Postby Grawp » Sat Sep 19, 2020 11:57 am

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

Postby openfablab » Mon Sep 21, 2020 6:35 am

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
Posts: 1101
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Postby Zolko » 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 ?

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 v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here
User avatar
openfablab
Posts: 62
Joined: Wed Nov 02, 2016 4:42 pm
Contact:

Re: Assembly 4 workbench

Postby openfablab » Mon Sep 21, 2020 10:29 am

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

Postby openfablab » Tue Sep 22, 2020 6:30 pm

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 406 times
User avatar
bambuko
Posts: 222
Joined: Thu Oct 24, 2019 12:53 pm

Re: Assembly 4 workbench

Postby bambuko » Thu Sep 24, 2020 4:32 pm

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.
User avatar
Kunda1
Posts: 8759
Joined: Thu Jan 05, 2017 9:03 pm

Re: Assembly 4 workbench

Postby Kunda1 » Thu Sep 24, 2020 5:12 pm

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
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
louisgag
Posts: 47
Joined: Fri Jan 17, 2020 9:59 am

Re: Assembly 4 workbench

Postby louisgag » Thu Sep 24, 2020 5:21 pm

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)