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 I also think that the ability to rename components inside an assembly is important. And maybe also replacing a component.
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
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: The need for a default assembly workbench

Post by adrianinsaval »

easyw-fc wrote: Sat Mar 25, 2023 11:27 am The LinkBranch has A3 internally implemented, so it is relevant.
Doesn't it use the same add-on code? It's just distributed together
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: The need for a default assembly workbench

Post by adrianinsaval »

grd wrote: Sat Mar 25, 2023 12:18 pm My idea is to have a 'FileList.txt' stored inside the FCStd file and that FileList.txt looks like this:

Code: Select all

00000=/project/BasePlate.FCStd<rev05>
00001=/path/to/Nut-M3.FCStd<rev01>
00002=/path/to/Washer-M3.FCStd<rev02>
00003=/path/to/Bolt-M3x20.FCStd<rev01>
This should be stored as properties, not a random text file IMO. Regarding the difficulty of dealing with XML, what is so difficult about it? Don't write your own parser, use an existing one.
I also don't quite get why a numbered list? Numbering is implicit in a list. About the revision number, how would this be determined? That kind of sounds like the PDM's responsibility
grd wrote: Sat Mar 25, 2023 12:56 pm @prokoudine I also think that the ability to rename components inside an assembly is important. And maybe also replacing a component.
Renaming is always possible (meaning changing the label). Replacing something is general link functionality, you can edit the linked object property to point to something else, an easier way to access this could be a good idea, this would likely break references though.
user1234
Veteran
Posts: 3261
Joined: Mon Jul 11, 2016 5:08 pm

Re: The need for a default assembly workbench

Post by user1234 »

Just out of curiosity, maybe FreeCAD can get a special license form solvespace?

Here, a few years ago, they deny it.

viewtopic.php?p=310178#p310178


But time changes things, and maybe also opinions. At least on the library site of solvespace, it is not completely denied it for commercial, asking (and maybe donating) would help. (Also in relative in time and effort needed for alternatives and workarounds).

https://solvespace.com/library.pl


Greetings
user1234
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 »

adrianinsaval wrote: Sat Mar 25, 2023 1:26 pm [This should be stored as properties, not a random text file IMO. Regarding the difficulty of dealing with XML, what is so difficult about it? Don't write your own parser, use an existing one.
I think that it is easier for a PDM.
I also don't quite get why a numbered list? Numbering is implicit in a list. About the revision number, how would this be determined? That kind of sounds like the PDM's responsibility
It is about opening the file that you stored.
Renaming is always possible (meaning changing the label). Replacing something is general link functionality, you can edit the linked object property to point to something else, an easier way to access this could be a good idea, this would likely break references though.
Of course replacing a file is gonna break references, but with TNP working correctly it should work. About renaming and replacing, again it is easier with FileList.txt
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
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: The need for a default assembly workbench

Post by saso »

I have yet to find the time to read all the posts in this topic, but unfortunately it seems we are back at arguing around solvers and constraints for assembly... They don't give you an assembly, first one has to have a proper part/assembly tree structure, from this you get the proper BOM and proper STEP geometry exchange and then you add some type of solver and constrains to that.

This is NOT an assembly, this are just two solids constrained together.
Aam3.jpg
Aam3.jpg (11.51 KiB) Viewed 1008 times
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: The need for a default assembly workbench

Post by adrianinsaval »

grd wrote: Sat Mar 25, 2023 2:36 pm I think that it is easier for a PDM.
I don't really see why and even if it was I don't see that as a strong argument to deviate from the standard way data is stored in FCStd files.
It is about opening the file that you stored.
but what's the usefulness of the numbers? what info do they provide that cannot be obtained by just looking at an item position on the list? Do you really need to store 00001 in a file to know that the first item on the list is the item 00001, the second 00002 and so on?
Of course replacing a file is gonna break references, but with TNP working correctly it should work.
It might be able to deal with some cases of replacing, but I think it can break in many instances too, it really depends on how closely related the replacement file is. But this is not of relevance really, replacing should (and is) allowed, TNP or not.
About renaming and replacing, again it is easier with FileList.txt
These are properties of the links, I don't see the point in duplicating this info.
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: The need for a default assembly workbench

Post by adrianinsaval »

saso wrote: Sat Mar 25, 2023 3:41 pm This is NOT an assembly, this are just two solids constrained together.
so what is missing there for it to be an assembly? Elaborate or your point is lost
User avatar
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: The need for a default assembly workbench

Post by saso »

adrianinsaval wrote: Sat Mar 25, 2023 3:45 pm
saso wrote: Sat Mar 25, 2023 3:41 pm This is NOT an assembly, this are just two solids constrained together.
so what is missing there for it to be an assembly? Elaborate or your point is lost
RT started this development by creating his own container (LinkGroup ?) it is in a way very flexible and he build the solver and constraints around that but there was no real consideration about some more standardized structure, linking functionality and having the ability to constrain the geometry was the focus. After some arguments about this here in the forum and comparisons between his solution and the existing Part container he adapted it a bit but never really fully followed the idea that for a proper assembly first one has to have a proper part/assembly tree structure.

So something like this could arguably be considered as a proper assembly in Asm3
Asm3Part.jpg
Asm3Part.jpg (15.25 KiB) Viewed 942 times

But it does also allow for some very crazy things like this
Asm3Mix.jpg
Asm3Mix.jpg (21.23 KiB) Viewed 942 times

Basically it just does not care and will happily swallow anything you throw at it, because the focus of the development was on linking and constrains with solver (which as I said is the wrong focus, or lets better call it the wrong foundations when one wants to develop an Assembly WB). To those that want to argue about that, tell me how does one build proper BOMs and export proper STEPs from something like that? And it is a similar story with Asm2 and Asm2plus...

An argument I had in the past about this, as an analogy, if we add constrains to the Draft WB we would still not have a sketcher, but if we remove constraints from the sketcher it would still be a sketch.

And no, things don't get lost, they are just ignored, all this has been discussed some 5 years or so ago and is still somewhere in the forum...
Last edited by saso on Tue Mar 28, 2023 11:25 am, edited 3 times in total.
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: The need for a default assembly workbench

Post by adrianinsaval »

ok so essentially what you want is that each element in the assembly file should be wrapped inside a Part container so that it has a more standard structure when exported as STEP. (If I'm not mistaken this isn't necessary for bodies as they will have the same structure as a Part when exported, right?)

seems like a reasonable requirement to me, I think asm4 is doing this already.

see that wasn't so hard to explain was it?
Post Reply