The need for a default assembly workbench

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: The need for a default assembly workbench

Post by sliptonic »

grd wrote: Fri Mar 24, 2023 11:24 am @sliptonic I know that this discussion is to let people inform, but what are your ideas about solving the assembly "solver"? Do you think that this solver needs to be build here? And what kind of solver are you thinking about?
I'm declining to answer this right now. I'll have more to say about it later.
aapo
Posts: 615
Joined: Mon Oct 29, 2018 6:41 pm

Re: The need for a default assembly workbench

Post by aapo »

ppemawm wrote: Tue Mar 21, 2023 5:01 pm If this looks like Assembly4 features then you're right. It is all I know, but 90% happy with it.
If someone familiar with A2P and ASM3 could make a similar list then we would have a way to make comparisons and contrasts of essential features.
I also use exclusively Asm4 for assemblies; as you said it allows top-down and bottom-up designing, and even combining these within the same project, so it's extremely versatile in this (and other) regards. In addition to your list, I've found that Asm4 has some very unique properties, which I don't think any commercial system has: It's possible (and advisable) to use different solver within the same model. That lead's to great efficiency, because the user has a complete control about where to execute those tedious solver calculations. In the same assembly, one typically has:
  • The default LCS solver, i.e. "rigid" solver, which just connects the parts together without possibility of movement. Very typical, and Fast to calculate!
  • The Master Sketch solver, where you attach the LCSs to a sketch, which automatically exploits the rather efficient Sketcher plane solver for movements
  • The pre-determined movement solver, where you attach an LCS to a pre-determined trajectory in space (a wire + some Python, for example)
  • The external solver, which can move your LCSs with any algorithm, for example your own Python program (my experience on these is very limited atm)
It's quite a natural workflow, but it took me a long time to realize that in a typical Asm4 assembly there won't necessarily be just a single solver, but several distinct sub-solver pieces to control the sub-assemblies, so it's kind of a multi-solver system. It's clever.

Anyways, the fact that you can drop any number of these on your model wherever you need them, is very efficient (fast), versatile, and often quite naturally leads to splitting the assembly problem into smaller interconnected pieces, which I feel is how assembly should be done. So, the Asm4 type of workflow kind of steers one towards the right path when designing an assembly, which is nice.

There are downsides to Asm4 (or any other similar system), of course:
  • No reasonable way to add collision detection (this is a big downside)
  • There's (currently) no 3D-equivalent space solver of the Sketcher solver in FreeCAD, so the user is limited to combining 2D solvers or writing a problem-specific 3D solver for movements that occur truly in interconnected 3D space with enough degrees-of-freedom. Quite rarely needed, but frustrating problem if it happens...
chrisb
Veteran
Posts: 53930
Joined: Tue Mar 17, 2015 9:14 am

Re: The need for a default assembly workbench

Post by chrisb »

grd wrote: Fri Mar 24, 2023 1:19 pm @chrisb So, what is this solver supposed to do?
Here is an excellent page of @jpg87 about assembly DOFs. Hovering or clicking on the images at the bottom even shows small animations. https://help-freecad-jpg87.fr/020_ass_DOF.php
An assembly solver should be able to solve those. Are there more things to consider?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: The need for a default assembly workbench

Post by wmayer »

Here is an excellent page of @jpg87 about assembly DOFs.
Where?
cadcam
Posts: 273
Joined: Thu Apr 02, 2020 10:39 am

Re: The need for a default assembly workbench

Post by cadcam »

chrisb
Veteran
Posts: 53930
Joined: Tue Mar 17, 2015 9:14 am

Re: The need for a default assembly workbench

Post by chrisb »

I have added the link.

Edit: Thanks cadcam.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
easyw-fc
Veteran
Posts: 3629
Joined: Thu Jul 09, 2015 9:34 am

Re: The need for a default assembly workbench

Post by easyw-fc »

sliptonic wrote: Sat Mar 25, 2023 4:17 am Part 4 - assembly 3 deep dive - is live now
Please note that the latest release of A3 is on 2023.01.31
https://github.com/realthunder/FreeCAD_ ... 3/releases relocated to
https://github.com/realthunder/FreeCAD/releases A3 LinkBranch
Instead in your review you wrote:
The project is maintained, however its active development phase ended in 2019, and the last workbench release was tagged in 2020.
EDIT:
A3 as WB latest release is on Nov 9, 2022
A3 LinkBranch as sw package release is on 2023.01.31
Last edited by easyw-fc on Sat Mar 25, 2023 8:52 am, edited 1 time in total.
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: The need for a default assembly workbench

Post by grd »

In the A3 Assy page, it says:
Things don’t get much better with the ModernUI add-on that creates a Ribbon-like top toolbar.
This is why I wanted to have a proper Ribbon Bar. It can be shown here: viewtopic.php?t=75791

But, of course, ....
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
prokoudine
Posts: 118
Joined: Sat Feb 21, 2015 5:56 pm

Re: The need for a default assembly workbench

Post by prokoudine »

easyw-fc wrote: Sat Mar 25, 2023 6:15 am A3 as WB latest release is on Nov 9, 2022
A3 LinkBranch as sw package release is on 2023.01.31
Well, this is confusing. Indeed, package.xml for the WB says the version is 0.11.4 released on 2022-11-09. It was never tagged as a release in git. Let's fix that then, thank you.

Edit: I don't think it makes sense pointing to newer Link releases though. There have been no changes to asm3 code since 0.11.4 release in November.
Post Reply