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!
chrisb
Veteran
Posts: 53924
Joined: Tue Mar 17, 2015 9:14 am

Re: The need for a default assembly workbench

Post by chrisb »

grd wrote: Sun Mar 19, 2023 11:32 am I am reading "roles" here. Maybe an A4 role, or an A3 role? Just think about it. This can be good!
I have no idea what you are talking about - please elaborate. When I said "performance doesn't really play a role" I meant "it is of no importance" (at this stage!).
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
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 »

@chrisb I meant having different roles. One role can be a "simple role" with only a few buttons, then you have also the "complex role" with all the buttons, and maybe also an A4 "role", maybe with all the bells and whistles. I am talking about the GUI here, not the implementation because that should be uniform. With roles everyone can do assembly the way they want to do it, as long as the implementation is only one.

Edit: But that said, I think that two roles would be enough. Only A3 and A4, and maybe also the extra macros.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
chrisb
Veteran
Posts: 53924
Joined: Tue Mar 17, 2015 9:14 am

Re: The need for a default assembly workbench

Post by chrisb »

grd wrote: Sun Mar 19, 2023 1:07 pm A3 and A4, and maybe also the extra macros.
Sorry, I was on the completely wrong track. Having just worked on TechDraw stuff I had associated with A4 and A3 the paper formats.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: The need for a default assembly workbench

Post by Zolko »

Please consider the following crash-course on assemblies. This is only my opinion and my experience :

There are 3 levels for an assembly WB:
  • the file/model/part structure
  • the placement solver
  • the GUI
The assembly structure is what allows multiple parts to appear in the same environment. Technically, it's the way that several parts are included into the scene graph. For BodyBuilder this is a series of PartDesign Bodies at the root of the document, for Manipulator these are parts and bodies inside parts, for Asm4 these are parts and bodies and links to parts and bodies inside a part, for Asm3 these are links to parts and bodies inside an Asm3-specific assembly container, and for A2+ these are sort-of-links-before-App::Link inside parts. All that this structure does is to include parts into the scene-graph at some location, and for FreeCAD this location is ALWAYS the Placement property of the part.

The placement solver is what calculates all the Placement properties for all the included parts. This Placement property can be input manually, by the "Transfrom" tool, or be calculated automagically by some routine. It is important to understand that the assembly structure and placement calculator (solver) are completely independent. A same assembly structure can accommodate several solvers, and the same solver can be used/adapted for different structures.

The GUI is what allows to manipulate all the bits and pieces above : it allows to include parts into the assembly and to edit placement constraints and attachment points. BUT : it also allows to repair broken assemblies, broken links, broken constraints ... The purpose of an assembly is to make complex things, through cooperation of many people, and stuff happens. If a GUI/workflow allows to do fancy things, but these fancy things break on the first hurdle, then the assembly will very soon become unusable. Which means that the stability and resiliance of an assembly is more important than for the design of a part. When testing assemblies I think it would be important to try to break it and see how easy/difficult it is to recover.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
onekk
Veteran
Posts: 6144
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: The need for a default assembly workbench

Post by onekk »

Zolko wrote: Sun Mar 19, 2023 3:13 pm Please consider the following crash-course on assemblies. This is only my opinion and my experience :

There are 3 levels for an assembly WB:
  • the file/model/part structure
  • the placement solver
  • the GUI
...
Hello, interesting crash course, so probably an integrated assembly WB in FreeCAD would probably focus on;l:

- A file/model/part structure, that coukd become a common denominator for every other Assembly.

- a simple or fairly complex solver, that could be superseeded by specific assemblers ones

- a common GUI that could be extended by other Assemblers


You obviously have some idea that could details a little more some requirement about file/model/part.

It will be interesting to discuss on this matter, but maybe @sliptonic want to open a different topic on this or these three matters.

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
Marodut
Posts: 11
Joined: Tue Jun 28, 2022 7:36 am
Location: Padova (IT)
Contact:

Re: The need for a default assembly workbench

Post by Marodut »

Hi everyone!
I was wondering: as AS3 and AS4 cater to different user cases, to a new user, the default assembly enviroment speaks about the scope of the program.

Does the way in which the software is percieved *need* to be taken into account?

Where should it stand in the priority ladder?

grd wrote: Sun Mar 19, 2023 11:32 am I am reading "roles" here. Maybe an A4 role, or an A3 role? Just think about it. This can be good!
I believe this post resonates well with my concern.
User avatar
-alex-
Veteran
Posts: 1856
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: The need for a default assembly workbench

Post by -alex- »

IMO assembly 3 is great, it will be greater if TNP is fixed in next FC1.0 release, like in Linkstage3 branch.
As said previously it uses solvespace solver which is GPLv3 licenced, which does not allow to include it in FC base code ATM.
However, IIRC asm3 can use other solvers as an input.
Then in CAD projects, 2D cinematics are about 90% of use cases maybe, so here is my question @realthunder:
Do you think asm3 could use the sketcher's solver PlaneGCS as a 2D default solver in asm3?
Thanks for your attention.
chrisb
Veteran
Posts: 53924
Joined: Tue Mar 17, 2015 9:14 am

Re: The need for a default assembly workbench

Post by chrisb »

-alex- wrote: Tue Mar 21, 2023 1:01 pm IMO assembly 3 is great,
You seem to use Asm3 for good reasons and you are happy with it. But this topic is not about you being happy, it is about the reasons: so what is it what you need as abstract functions from an assembly workbench to make you happy.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: The need for a default assembly workbench

Post by ppemawm »

chrisb wrote: Tue Mar 21, 2023 1:46 pm so what is it what you need as abstract functions from an assembly workbench
Okay, so here is my take on minimum integrated requirements for a default assembly workbench:

1. All bodies and the assembly in one file, or not
2. Accommodate multiple sub-assembly levels
3. Ability to model in the top assembly in-context (top down design)
4. Constraint connectors (mates, LCS, etc.) that can be customized for uncommon assembly constraints
4a. 2D Solver for assemblies that must be able to move, rotate, reciprocate, articulate, etc. during design process
5. Animator with video save function
6. GUI performance sufficient to manipulate large complex assemblies, e.g. a complete motorcycle
7. Measurement and manipulator tools
8. Access for fasteners and commercial .step files
9. Global variables for use in expressions and placements

Nice to have:

1. Accommodate alternate configurations (exploded views, options, etc.) in same file
2. Parts List
3. Variant link to a part file for a parametric body
4. Immune to TPM
5. Ability to manipulate moveable parts in the GUI with mouse or touchpad

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.
"It is a poor workman who blames his tools..." ;)
Post Reply