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!
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 »

prokoudine wrote: Tue Mar 21, 2023 7:22 pm @grd, personally, I think the list of requirements is perfectly on topic. In fact, I'd be interested to see more of those lists. Pet peeves are unavoidable, but finding common ground is important. Otherwise the entire point of designing something that works for 80% of use cases simply won't fly.
Well, in that case, I would like that the assembly has:

1. Manipulation of files inside an assy, such as: Sheetmetal cuts, and bending a sheetmetal part, and dealing with cutting metal casting.

2. Painting

3. Clearance / interference checks

@chrisb
The programming language is an implementation detail ...
I am sorry but you are completely wrong. If A2P was programmed in C++ in what state would it have been? There is a reason why A2P was written in Python. Nim on the other hand deals with the problems of Python, and C++ too. I gave you numerous of examples about that.

When we are talking about the speed of Nim for the end user and compare it with Python, that is a big difference, but when we compare it with C++ then it is roughly as fast. But when we are talking about development effort, then you can compare Nim again with Python and not with C++. So I am saying that the programming language is NOT only a implementation detail. I am saying that it is very important.

I know, I know, it is very hard to change other peoples minds.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
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 »

prokoudine wrote: Tue Mar 21, 2023 7:22 pm @ppemawm, what are the top reasons for you to choose LCS over other means to achieve the same result?
1) an LCS defines all 6 degrees of freedom, you cannot achieve that with any other means.

2) LCS are standard built-in FreeCAD tools, they're free, no extra work, they're just there and have been for a long time, therefore they're very stable

3) as such, they can be used with another very powerful built-in FreeCAD tool: the attachment editor

4) they can also be combined with other built-in FreeCAD tools, and especially the sketcher, and thus use sketcher's built-in 2D solver

5) you can consider LCS as some sort of "connectors" defined in parts. As such, they give a nice and intuitive user feedback about where the connectors are, and you can define many such connectors for each part. You can also name them making connecting parts easy and intuitive

6) when something breaks, the feedback shows quite clearly what has gone wrong, making it relatively easy to repair broken connections

7) they are mathematically precisely defined objects, with built-in manipulation arithmetic that allow to combine and invert them easily in cascade with native compiled speed. They have very little overhead when used in expressions

8) being fast and stable allows to build nested assemblies with many (many many) levels. There doesn't seem to be any limit, at least not that I'm aware of (and @ppemawm has built some impressive products with it)
try the Assembly4 workbench for FreCAD — tutorials here and here
men132
Posts: 82
Joined: Fri Feb 24, 2023 9:23 pm

Re: The need for a default assembly workbench

Post by men132 »

this might be off topic but when would this ''default'' assembly workbench be released.
intelligence is power
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: Tue Mar 21, 2023 8:33 pm I am sorry but you are completely wrong.
No, I'm completely right. The only argument you give is speed. And I can very well acccept that. The fact that the usage of Nim would please you personally doesn't belong here. Why not implement the new default assembly WB in C++, which is proven to reach the speed of C++? Or use another language which is even faster, clearer, easier to learn and will be presented to the public next week? If you say Nim is good due to its scriptability, then good, you require scriptability. But not Nim.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 53924
Joined: Tue Mar 17, 2015 9:14 am

Re: The need for a default assembly workbench

Post by chrisb »

men132 wrote: Tue Mar 21, 2023 10:46 pm this might be off topic but when would this ''default'' assembly workbench be released.
The FreeCAD saying is: it's done when it's done. We don't know yet all the requirements and we don't know how many developers will work on it, so not even a rough guess can be made.
If you work for a company and the company is willing to finance something, then we would at least have to wait afor the analysis of the requirements before we can make a guess.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
prokoudine
Posts: 118
Joined: Sat Feb 21, 2015 5:56 pm

Re: The need for a default assembly workbench

Post by prokoudine »

men132 wrote: Tue Mar 21, 2023 10:46 pm this might be off topic but when would this ''default'' assembly workbench be released.
This takes steps:

1. Analyze what's already there <- YOU ARE HERE
2. Build a list of requirements (we say it should work in 80% of use cases, but what does it mean exactly?)
3. See if an existing workbench can be used as a foundation for that, or if a new one should be created
4. Write code
5. Do a lot of user testing
6. Release it with one of the next versions of FreeCAD

That's an intentionally oversimplified plan, but it should give you a general idea where this initiative currently is, which is the very beginning. Moreover, I might be wrong, but my understanding is that there is no ETA for FreeCAD 1.0 yet, and there's already a lot more work done on it than on the future assembly WB.
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 wrote: Tue Mar 21, 2023 10:49 pm [No, I'm completely right. The only argument you give is speed. And I can very well acccept that. The fact that the usage of Nim would please you personally doesn't belong here. Why not implement the new default assembly WB in C++, which is proven to reach the speed of C++? Or use another language which is even faster, clearer, easier to learn and will be presented to the public next week? If you say Nim is good due to its scriptability, then good, you require scriptability. But not Nim.
No, I think that you are completely wrong. Just ask yourself the question: Why was A2P written in Python and not in C++? Why? Ask yourself that question.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
men132
Posts: 82
Joined: Fri Feb 24, 2023 9:23 pm

Re: The need for a default assembly workbench

Post by men132 »

prokoudine wrote: Tue Mar 21, 2023 11:30 pm
That's an intentionally oversimplified plan, but it should give you a general idea where this initiative currently is, which is the very beginning. Moreover, I might be wrong, but my understanding is that there is no ETA for FreeCAD 1.0 yet, and there's already a lot more work done on it than on the future assembly WB.
I assume that development will be ongoing meaning we might get a bare bones workbench soon. but with each release we will get more features.
intelligence is power
User avatar
chennes
Veteran
Posts: 3879
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: The need for a default assembly workbench

Post by chennes »

grd wrote: Tue Mar 21, 2023 11:51 pm Why was A2P written in Python and not in C++?
3rd party Addons have to be written in Python.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
freedman
Veteran
Posts: 3441
Joined: Thu Mar 22, 2018 3:02 am
Location: Washington State, USA

Re: The need for a default assembly workbench

Post by freedman »

Here is a solution, add an easy way to use all the above Assemblers (more than one can be a default), time will tell what will last and if the code is maintained over the years.
Maybe add something in Preferences: to initialize for a specific Assembler, the goal would be to make it easy for the user. I think it would be great to try the different assemblers with a checkbox and a FreeCAD restart. This would allow the different assemblers to grow independently and become better than they are today, the users might find one is better at certain modeling.

Strangely enough as the forum lists more requirements of a default, I lean the other way with my approach, my goal is to remove everything possible and find the minimum requirements. This is what I tried when I designed BodyBuilder but I'm not sure I found the lowest common denominator when it comes to the GUI. Still thinking...
Last edited by freedman on Wed Mar 22, 2023 11:01 am, edited 2 times in total.
Post Reply