Hi,
Firstly I'm a newbie and I'd like to say hi.
Could not find any info so thought I'd ask the forum.
Question:
What is the best method to creating a project to manage multi parts that will be assembled.
1) Should you create a single part per file.
2) Should you create a multi part file.
Any other methods for organising your projects.
Appreciate any assistance.
Nick.
Managing Project Structure
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Managing Project Structure
Moved to Assembly forum.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Managing Project Structure
Hi Nick - Welcome aboard. Both approaches are possible. I've not used either I have not done much assembly work but one of the issues you have to get a grip on first is which assembly workbench you will use - there are three of them - all maintained and improved and none are out of date. There is no one "official" assembly workbench per se. For beginners, you can also just position things together in the proper orientation and not rely on the assembly workbenches at all if you are not concerned so much with kinematic movements etc.
There's a ton of info here, on youtube, and in the wiki. The road is long, pace yourself, and don't fly into a rage too much. I'm working on that last part myself....
Good luck.
There's a ton of info here, on youtube, and in the wiki. The road is long, pace yourself, and don't fly into a rage too much. I'm working on that last part myself....
Good luck.
Re: Managing Project Structure
Hi LHC,
Thanks, that's all I needed to we can consider this post closed, applicate the help.
Keeping my cool.
Nick.
Thanks, that's all I needed to we can consider this post closed, applicate the help.
Keeping my cool.
Nick.
Re: Managing Project Structure
I'm also thinking a lot about project structure at the moment.
I believe that having a single part per file is the best approach to allow reusability, when I say part I mean single Partdesign body or other body that is not attached to anything else.
But I'm not sure about the approach to follow for project organization after that.
I'm using Assembly3 at the moment but I believe this could apply for any assembly.
After having the individual parts how should I structure them in directories?
We could have multiple separate assemblies or a big assembly. Let's imagine that we are building a car, we could have a single big assembly that uses all parts, but maybe it's best to have separate sub-assemblies, example an assembly for the engine and another for the gearbox.
I believe having separate sub-assemblies is best because the process gets more manageable and we could reuse entire assemblies.
Now, imagine that the engine could be used not only for this car, but for many different cars, how should you structure your project?
Also could any part of that engine be used in another different engine? If it could then maybe it should be placed in a separate directory.
These questions are what I think make it hard to structure the project and decide where to put the parts, if you put a part in a directory and then decide to change it's location it would break the assemblies it is used on.
Also how about file naming?
Should I name my files with a part ID or with a name that is easy to read, like spring. I personally like to be able to read the file name and know what it is instead of an ID.
Also how should I name assemblies? I though I could name assembly files as assy but if I have multiple assembly files it can get confusing as they all have the same name, and we can't change the internal name
So, for cars this is the structure I would imagine:
If for example the piston head could be used for different pistons, then maybe we could put all piston heads in a separate directory. But how would we name each one?
Another issue, what if some piston heads could be used in some pistons but not in others?
Another thing to keep in mind is that maybe a part is not 100% finished, I mean it could be modified by parameters or have some extra features added for it to be finished, so it would be created by importing a link from a base part. How should one deal with this?
I believe that having a single part per file is the best approach to allow reusability, when I say part I mean single Partdesign body or other body that is not attached to anything else.
But I'm not sure about the approach to follow for project organization after that.
I'm using Assembly3 at the moment but I believe this could apply for any assembly.
After having the individual parts how should I structure them in directories?
We could have multiple separate assemblies or a big assembly. Let's imagine that we are building a car, we could have a single big assembly that uses all parts, but maybe it's best to have separate sub-assemblies, example an assembly for the engine and another for the gearbox.
I believe having separate sub-assemblies is best because the process gets more manageable and we could reuse entire assemblies.
Now, imagine that the engine could be used not only for this car, but for many different cars, how should you structure your project?
Also could any part of that engine be used in another different engine? If it could then maybe it should be placed in a separate directory.
These questions are what I think make it hard to structure the project and decide where to put the parts, if you put a part in a directory and then decide to change it's location it would break the assemblies it is used on.
Also how about file naming?
Should I name my files with a part ID or with a name that is easy to read, like spring. I personally like to be able to read the file name and know what it is instead of an ID.
Also how should I name assemblies? I though I could name assembly files as assy but if I have multiple assembly files it can get confusing as they all have the same name, and we can't change the internal name
So, for cars this is the structure I would imagine:
Code: Select all
cars/
├─ wheels/
│ ├─ 10/
│ │ ├─ 10_wheel.FCStd
│ ├─ 12/
│ │ ├─ 12_wheel.FCStd
├─ engines/
│ ├─ engine_1/
│ │ ├─ engine_1.FCStd
│ ├─ engine_2/
│ │ ├─ engine_2.FCStd
│ ├─ pistons/
│ │ ├─ piston_1/
│ │ │ ├─ piston_head.FCStd
│ │ │ ├─ piston_1.FCStd
│ │ ├─ piston_2/
│ │ │ ├─ piston_head.FCStd
│ │ │ ├─ piston_2.FCStd
├─ car_1/
│ ├─ car_1.FCStd
├─ car_2/
│ ├─ car_2.FCStd
Another issue, what if some piston heads could be used in some pistons but not in others?
Another thing to keep in mind is that maybe a part is not 100% finished, I mean it could be modified by parameters or have some extra features added for it to be finished, so it would be created by importing a link from a base part. How should one deal with this?
- FreeCutter
- Posts: 93
- Joined: Mon Aug 26, 2019 5:52 pm
- Location: Germany
- Contact:
Re: Managing Project Structure
Maybe these collections of information are of use:
https://ondsel.com/blog/default-assembly-workbench-5/
Cheers