[Ticket #4614] Request for a separate Assy file format

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

[Ticket #4614] Request for a separate Assy file format

Post by Pauvres_honteux »

I hereby request to create a separate Assy file format. Maybe denote it *.fca ? Not that denomination matters as long as the separate Assy file format is created.

It shall work like this:

Orange marked = Assy file.
Green marked = Part file.

Assy file loads Part files or/and other Assy files.
Further down the road a PDM system will manage these files, but not now. Later on.
For this to work the Assy file must handle file contents relative positions/rotations. Every Assy-file and Part-file shall have a zero point and a coordinate system connected to the zero point. The point and coordinate system is always at the file zero.
The Assy file will store all first level files [x,y,z,alpha,beta,gamma] with respect to the Assy files own zero point and a coordinate system.
The [x,y,z,alpha,beta,gamma] shall also be readable from "the outside" via a database application. Don't know how to do that, maybe store it in the file header as well?
.
Example_of_how_to_apply_an_Assy_lay_up.png
Example_of_how_to_apply_an_Assy_lay_up.png (127.96 KiB) Viewed 3685 times
.
Complementing_picture_to_Example.png
Complementing_picture_to_Example.png (77.1 KiB) Viewed 3685 times
.
Above is an example of how to lay up the base for a lorry manufacturer. One can/will of course brake it down a lot further, but to just give an example of how it is used in real life. Same principle for a skyscraper or an ocean liner or .... you get the idea.
.
Note: this is not a discussion if, it's about how. Those of you who do not want to work this way, please refrain from commenting.
Last edited by Pauvres_honteux on Sat May 08, 2021 8:41 am, edited 1 time in total.
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: Request for a separate Assy file format

Post by Pauvres_honteux »

wmayer wrote:pling

My feeling is that the whole FreeCAD system once was set up by you and Riegel to support this?
To what degree, as it sits now, do you think this is feasible?
What, if anything, must be changed to make this work?
What would you say must be done and in what order to make this work?
wmayer
Founder
Posts: 20309
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Request for a separate Assy file format

Post by wmayer »

My feeling is that the whole FreeCAD system once was set up by you and Riegel to support this?
Basically yes but in the design of assemblies I never was involved. Jürgen once has thought about a special file format for assemblies and we have to check if there is already some code for it. The old branch can still be found here: https://github.com/jriegel/FreeCAD/comm ... embly-next

When you look at the code there is something about PLM/XML. Maybe this is what you are interested in.

But we already have three different assembly addon-ons: Assembly2, Assembly3 and Assembly4. How do they handle this?
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Request for a separate Assy file format

Post by Zolko »

wmayer wrote: Wed Nov 25, 2020 11:19 am But we already have three different assembly addon-ons: Assembly2, Assembly3 and Assembly4. How do they handle this?
For Assembly4, there is no difference between a part and an assembly file. An assembly is a standard App::Part called "Model". The same document can contain parts and an assembly.
try the Assembly4 workbench for FreCAD — tutorials here and here
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Request for a separate Assy file format

Post by Jee-Bee »

NX have one format that could be anything and works fine to me. creo have 4 or more filetypes depend on what it is (part, assy, drawing, fem, ...). For me personal i don't care about it...
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: Request for a separate Assy file format

Post by Pauvres_honteux »

wmayer wrote: Wed Nov 25, 2020 11:19 am ... Assembly2, Assembly3 and Assembly4. How do they handle this?

In general they've done the "copy an internal bit from one file and paste that bit into another file", with or without link to the original file.
This is all good and well since that must work as well, but, and this is a big but! (pun intended ;) )

To make the whole eco system to work as intended we must also add relative positioning of the whole part-file (via the separate assy-file principle) AND a PDM-system management (= external database file-juggling).
The two-file principle opens up for these features to be fulfilled.
Relative positioning via the separate assy-file ensures the function for the tiny project as well as for the humongous project spanning several decades and multi continent cooperation as well as storing the relative positions solely in the database.

Just remember that the PDM-system itself is not part of this discussion.

Tiny projects will only use assy-files for relative positioning.
Assy-files will also be used for keeping all part-files together for e.g. casted parts where the mould consists of a lot of moulds as for engine blocks. Or welded parts where every plate is a separate part and every weld is a separate part as well. This usage will make the assy-file work/be utilized as a part-file. For this use case one just denote the assy-file with a part number intsead the part file.

The assy-file will/can also contain positioning dependent sectioning/interfacing data of the constituent parts/assys. E.g. cross sections where multiple sheet metal meet. You can ofcourse add other features as well, only your imagination sets the limits.

So the assy-file can and will have several end usage scenarios.

Big and long lasting projects will utilize some PDM-system with the special feature of storing relative positions in the database in conjunction with the file-juggling.
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: Request for a separate Assy file format

Post by Pauvres_honteux »

In the file 2_Cylinder_Engine1_Internals.plmxml one can barely interpret the principle of "position and rotation" as a long sequence of numbers separated by space.

My interpretation of this file is that he experimented with "light weight" file format for assembly.

I've already given a proposal for a light weight file format in a (much) earlier thread. The light weight file format must also be invented, but that's another discussion.
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: Request for a separate Assy file format

Post by Pauvres_honteux »

I can not for my life understand how to make several files visible at the same time in the same 3D-view port. :(
wmayer wrote:
Do you have any overall recipe for creation of a separate assy-file format?
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: Request for a separate Assy file format

Post by Zolko »

Pauvres_honteux wrote: Thu Dec 03, 2020 11:06 am I can not for my life understand how to make several files visible at the same time in the same 3D-view port. :(
App::Link does just that, as does A2+ but with other methods.

Do you have any overall recipe for creation of a separate assy-file format?
I think it has been become quite clear that you're the only one interested in this feature, therefore why don't you implement it using your own time and resources ?
try the Assembly4 workbench for FreCAD — tutorials here and here
Cyclonit
Posts: 57
Joined: Sat Sep 26, 2020 11:19 am
Location: Germany

Re: Request for a separate Assy file format

Post by Cyclonit »

I don't see the point of a separate file format when all you want to do can be handled in the current format. If you want to distinguish between part files and assembly files, you can do that already. If you want to distinguish by name, just add a secondary file extension in front of the "fcstd" like this: "world_zero.assembly.fcstd".
Post Reply