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
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: Assembly 4 workbench

Post by uwestoehr »

Zolko wrote: Mon Jun 29, 2020 2:41 pm I released a new version 0.9.7 which brings back the old behaviour, and still has the UI in the Task panel.
Many thanks! It works fine.
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: Assembly 4 workbench

Post by ppemawm »

Zolko wrote: Mon Jun 29, 2020 2:41 pm I released a new version 0.9.7 which brings back the old behaviour, and still has the UI in the Task panel.

The parts are now native Fasteners objects, not pre-created like they were before. The UI is also improved.
Thanks for the latest revisions. Much improved usability.
"It is a poor workman who blames his tools..." ;)
aapo
Posts: 626
Joined: Mon Oct 29, 2018 6:41 pm

Re: Assembly 4 workbench

Post by aapo »

Feature Request:

Would it be possible to add a mode, where all the sub- and sub-sub-etc-part LCS:s would be hidden in the 3D view? If I understand correctly, it is only possible to link between LCS:s in the current file's Model folder and directly attached Bodies' and Parts' LCS:s. Thus, I'd like to avoid cluttering the 3D display from subsub...part LCS:s, that are inaccessible from the current file anyway. Not sure, if this kind of hiding is technically feasible or even possible, though...

Maybe it would be easier to say that I would like the 3D view to only show LCS:s that are directly accessible from the current file by Asm 4. BTW, Assembly 4 is a great tool, I use it all the time, thanks! :D
User avatar
dcapeletti
Posts: 504
Joined: Wed Jul 23, 2014 2:27 pm

Re: Assembly 4 workbench

Post by dcapeletti »

Hi, I have a question. When I import a part into Assembly4, I would like to know if two or more restrictions can be applied at the same time.
Imagine that with one point the parts are centered but there is 360º mobility in all axes, if you put a reference line and a point or three points then the parts only have one placement. Is this possible? Apply more than one constraint to the part.

Thanks
aapo
Posts: 626
Joined: Mon Oct 29, 2018 6:41 pm

Re: Assembly 4 workbench

Post by aapo »

dcapeletti wrote: Sat Jul 04, 2020 4:16 pm Hi, I have a question. When I import a part into Assembly4, I would like to know if two or more restrictions can be applied at the same time.
Hi, Asm4 is an assembly workbench without solver, that is the main idea behind the workbench. So, no, it's not possible. However, you're supposed to a do a skeleton sketch (a sketch without any 3D-shape, just the sketch), and use the sketch solver. There you can apply multiple restrictions, albeit in 2D-only. Then, you'll attach the LCS:s into some sketch elements, and voila, your assembly follows the sketch movement. This allows neat animations by animating the sketches. Moreover, you'll be able to combine several 2D sketches in order to do 3D solving/animation, if necessary.

EDIT: I made a small example assembly, just for fun! :D If you load the attached FCStd model, and activate the Asm4 workbench and hit the animate icon (the two gears), and fill in the Arm_angle as animated variable and range from e.g. 0 to 60 with 0.5 steps, you'll see a sketch based simple animation. The model is real simple, so it should be rather easy to study how it's done. The main difficulty is to hit the small blue (f(x)) button in Master Sketch Constraints, which is needed in order to put variables into the sketch constraint values. Hitting the button opens a small window, where you'll write "Variables.my_variable" (without the quotes).
20200705 Asm4 Animation screenshot1.jpg
20200705 Asm4 Animation screenshot1.jpg (58.4 KiB) Viewed 2648 times
20200705 Asm4 Animation screenshot2.png
20200705 Asm4 Animation screenshot2.png (66.25 KiB) Viewed 2648 times
OS: Debian GNU/Linux bullseye/sid (KDE//usr/share/xsessions/plasma)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21854 (Git)
Build type: Unknown
Branch: master
Hash: ffbcab5b4964af1170e7f09e9788b3ade0c727af
Python version: 3.8.3
Qt version: 5.14.2
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
Attachments
20200705 Asm4 Animation.FCStd
(68.4 KiB) Downloaded 73 times
Last edited by aapo on Sat Jul 04, 2020 11:00 pm, edited 1 time in total.
iman
Posts: 2
Joined: Sat Jul 04, 2020 9:58 pm

Re: Assembly 4 workbench

Post by iman »

I want to do Nested Assembly, and I can add New LCS directly on Model, but when I edit datum and select anything, it says problem in selection on report view, how can I solve this?
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

iman wrote: Sat Jul 04, 2020 10:04 pm it says problem in selection on report view, how can I solve this?
Did you try to ignore that message ?
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
WayofWood
Posts: 62
Joined: Mon Nov 26, 2018 4:59 pm

Re: Assembly 4 workbench

Post by WayofWood »

Zolko wrote: Sun Jul 05, 2020 11:49 am
iman wrote: Sat Jul 04, 2020 10:04 pm it says problem in selection on report view, how can I solve this?
Did you try to ignore that message ?
I don't get the same error message but I can't select any element of one of the subassemblies in order to reference the LCS of the Model.

When I select a line or a surface the task list does not react by adjusting the options to choose and when hitting ok it tells me that no reference has been selected.

Best regards
Oliver
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Assembly 4 workbench

Post by Zolko »

WayofWood wrote: Wed Jul 08, 2020 4:01 pm I can't select any element of one of the subassemblies in order to reference the LCS of the Model.
Can you please list the exact steps you do to get to the problem ?

It seems to me that you try to attach a datum object with the "Edit Datum" command (right-click > Edit Datum), which is the same as hitting the small [...] button in the MapMode field of the object's properties, and then try to attach the datum to something in a child link of the assembly. Is that right ? In which case this behaviour is "normal" in the sense that this doesn't work like this. Attachment to App::Link objects is not supported (currently at v0.19).

What you have to do is to create and attach a datum object in the document where the original (linked) object is. If you want to have that datum in the assembly, then you need, after having created and attached the datum in the original object, to "import" it into the assembly, which does the following: it creates another (native) datum in the assembly, and attaches it to the original datum in the original object. Thus, the datum in the assembly will always "follow" the original datum in the original object. But there are actually 2 distinct datum objects: 1 in the original (linked) file and 1 in the assembly.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
WayofWood
Posts: 62
Joined: Mon Nov 26, 2018 4:59 pm

Re: Assembly 4 workbench

Post by WayofWood »

Hi Zolko,

thanks for the reply. It might also be that I am using the Assembly 4 workbench the wrong way. Therefore let me first describe what I would like to achieve and then go step-by-step through the challenges with a simpler example.

This is a a simple Item Cross-Brace that I have put together from an Item profile and two connectors as an assembly. I would now like to place this assembly at several places in a bigger one:
XBrace.png
XBrace.png (51.81 KiB) Viewed 2336 times
For this I thought the logical approach would be to define a LCS within the assembly of the Crossbrace so that I can attach this LCS to elements in the overall assembly.

Here are the steps for reproducing my problem:

1. Working with FreeCA 0.19 and a recent (1 week old?) version of A4:

Code: Select all

OS: Ubuntu 20.04 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21718 (Git) AppImage
Build type: Release
Branch: master
Hash: 002e25b5617f2c79f65968f1f82f7267899965c3
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: German/Germany (de_DE)
2. Creating a New Part, Body, Sketch, Padding it to a cube and adding an arbitrary LCS (see file cube)

3. Creating a New Model in a separate file, adding the cube part twice and attaching one cube to another (see file 2cubes)

4. Now I would like to add a LCS "LCS_in_Model" to the model that I could then use to place the subassembly of the two cubes (or my crossbrace in reality) into a bigger assembly. After adding the LCS, I edit it but I can't select a reference (neither a plane, vertice, edge, nor a LCS from one of the parts:
NoSelection.png
NoSelection.png (70.58 KiB) Viewed 2336 times
Would be great if you could let me know what I would have to do differently. Thanks a lot in advance!

Best
Oliver
Attachments
cube.FCStd
(11.82 KiB) Downloaded 94 times
2cubes.FCStd
(6.2 KiB) Downloaded 50 times
Post Reply