V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #6
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
What a great model!
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
Parts should be in separate files and then includes as clones in the main file. isn't it?ppemawm wrote: ↑Sat Aug 04, 2018 4:47 pm The file has grown to 133 Mb, 646 Sketches, and 191 Bodies, but performance is still adequate. No crashes, stable as can be. The only problem with such a large file is the (~4 min) required for autosave every 15 minutes and during some random recomputes triggered somehow.
...
Great, great job anyway.
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
That is perhaps one (proper?) way. I prefer all parts in one file, in context, when I am modelling engines.
"It is a poor workman who blames his tools..."
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
No it is not, this way of working was introduced with Asm2 as a workaround for not having proper Part and Assembly containers to build the proper Assembly hierarchy tree structure. Unfortunately this way of working is continuing to be pushed forward in all of the ongoing "assembly" implementations instead of doing it the proper way, on top of the Part and Assembly containers. As I have said in the other topic, this view, that adding constraints between geometry (ex. solids) is what makes an assembly, is wrong. https://forum.freecadweb.org/viewtopic. ... 70#p237682
If we take in to account that Part and Assembly containers are not yet properly implemented, what you are doing ppemawm is IMO great!
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
ppemawm wrote: ↑Sat Aug 04, 2018 4:47 pm The file has grown to 133 Mb, 646 Sketches, and 191 Bodies, but performance is still adequate. No crashes, stable as can be. The only problem with such a large file is the (~4 min) required for autosave every 15 minutes and during some random recomputes triggered somehow. Perhaps someone could come up with a way to make this an incremental save? Then again, who else would want to have everything in one file?
Now, on to the accessories which I may put in a separate file due to their complexity. Stay tuned for more updates.
Well. The truth and the short answer is ATM you can't. That is without using workbenches like Assembly 2 to do the imports. Or to basically do things manually. Model something in one file and after for example manually "export/import" simplified geometry (without history) in "assembly document". But this will hopefully change soon:
https://forum.freecadweb.org/viewtopic.php?f=10&t=29542
Link and Assembly effort are basically two different things. The idea on how to put crankshaft and piston in two different documents (if desired). And to after somehow get them in "assembly document". That is what the question was about. And in the end it has little to do with Assembly per se. FreeCAD just doesn't know how to do that ATM and hopefully Link effort will resolve this and provide such functionality soon.saso wrote: ↑Sun Aug 05, 2018 8:38 am No it is not, this way of working was introduced with Asm2 as a workaround for not having proper Part and Assembly containers to build the proper Assembly hierarchy tree structure. Unfortunately this way of working is continuing to be pushed forward in all of the ongoing "assembly" implementations instead of doing it the proper way, on top of the Part and Assembly containers. As I have said in the other topic, this view, that adding constraints between geometry (ex. solids) is what makes an assembly, is wrong. https://forum.freecadweb.org/viewtopic. ... 70#p237682
As for something being right or wrong. That is highly use case dependent and we need to support more use cases in the end. Like creating Link in working document or from external document. Assembly in single file or multiple files ... Adding relations to Draft geometry (you used this example in the linked discussion) actually is possible with Assembly 3. And for sure having such option doesn't make Sketcher workbench more right or wrong. We could claim @ppemawm isn't doing assemblies ATM. But it would be hard to argue that looking at the results. But majority of FreeCAD users isn't skilled like that and likely needs a more straightforward ways to assemble things. Anyway the point being go easy on "right or wrong" claims.
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
Builiding a collection of bodies and part "sub-assemblies" as I have done is not difficult. How hard is it to correctly locate the first sketch of a new body where it belongs in the "assembly"? About 99% of what I have done in this model are sketches attached to the principle planes and offset using Attachment Map Mode in the Property panel. Occasionally, I had to rotate a sketch, rarely, did I have to attach a sketch to an vertex, edge, or face, with the exception of helix sweeps for springs. I suggest that learning and becoming comfortable with Placement properties to be a critical skill in FreeCAD. It was one of the more difficult for me to get my head wrapped around but once it clicked I was able to do these types of "assemblies" with pleasure.
It is true that with this above approach the bodies do not know where they belong if some other body is moved so relocating several affected bodies can be a nightmare. In several other examples, I have used shapebinders or master sketches to link multiple bodies in these engine "assemblies" but have found the models to be quite fragile when making changes. They may move where they belong but the body features themselves may fail.
"It is a poor workman who blames his tools..."
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #3
I often start in Part or PartDesign workbench. Depending of what tools i plan to use. Hopefully more and more invasion of tools in PartDesign workflow will happen in the future. And more and more it will make sense to just start in PartDesign workbench most of the times. When tackling standard mechanical engineering projects. Anyway after the modeling starts. In small to mid size projects it often makes the most sense to just model the final "assembly" in one go. In a way as we are basically talking about a single part. Everything can be made parametric with ease. Therefore for sure this is valid use case. FreeCAD has progressed much in this regard (@ickby). Much more linking (@DeepSOIC) to external geometry is possible now and PartDesign really does take the modeling experience to the next level. Sketcher has improved massively in the past few releases (@abdullah). If we just look at a added feature like splines. Amazing. But i guess the main point of this advancements in general still is for end users being able to build more complex parts with ease. And therefore not tackling assemblies of parts directly.
This approach usually doesn't scale good when working in a team environment. Person A models the crankshaft and provides the file. Person B models the piston and provides the file. With the advancements made in FreeCAD 0.17 this part got a nice boost. That is creating the crankshaft and piston part. Person C needs to assemble them. Currently there are ways to manage this and to get results. But with Link effort it comes down to a drag and drop operation into the (assembly) document.
But i must say i am rather optimistic. As if we say we climbed that first step and made the modeling experience superb. As seen with the work you do. We can only imagine what will happen with each new step achieved!
This approach usually doesn't scale good when working in a team environment. Person A models the crankshaft and provides the file. Person B models the piston and provides the file. With the advancements made in FreeCAD 0.17 this part got a nice boost. That is creating the crankshaft and piston part. Person C needs to assemble them. Currently there are ways to manage this and to get results. But with Link effort it comes down to a drag and drop operation into the (assembly) document.
This comes next indeed. Robust assembly solver doing that instead of the user. And not only that. For when things change to know what to do (recalculate relations and update the parts placement accordingly). Therefore to start talking about real parametric assemblies where actually joining different parts together. And when it comes to knowing what to do. For best results TopoNaming effort is that missing piece of the puzzle. How to make all this fragile and changing topology experience better for the end users.ppemawm wrote: ↑Sun Aug 05, 2018 2:56 pm I suggest that learning and becoming comfortable with Placement properties to be a critical skill in FreeCAD. It was one of the more difficult for me to get my head wrapped around but once it clicked I was able to do these types of "assemblies" with pleasure.
But i must say i am rather optimistic. As if we say we climbed that first step and made the modeling experience superb. As seen with the work you do. We can only imagine what will happen with each new step achieved!
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #4
All of the electrical components have been completed including the distributor with potted contacts and gearing, high tension connectors with lead wires, brushes, and the dual magneto housings. In addition the dual spark plugs have been added to each of the nine cylinders. The only component left are the tensioned wires between the plugs and distributor contacts as shown in one of the images below. These appear to be a real challenge to model correctly.
The main engine file has grown so large (139 Mb) that it is no longer practical to add new models due to the delay in opening the file, recomputes, and frequent auto save. As a consequence, I have created a new file for each of the accessory assemblies: magneto, oil pump, and air pump. These are quite complex machines in themselves. My plan is to merge these with the engine file upon completion so that everything is in one file for reference.
A few screen grabs of the electrical components are included as follows with some brief comments:
. . . . ~
I am quite pleased with V0.18 performance which continues to demonstrate its ability to keep up with the high end CAD packages. Since I rarely attach any sketches or datums to faces, edges, or vertices, models of even this size are remarkably stable.
The only thing still somewhat confusing to me is how to keep all of the body and part origins straight in your head when moving components and creating Draft>clones. In some cases, I just could not understand how to create and include the clones in the same part container as the body if the part had been moved. For this I used PartDesign>Group folders but I am not completely happy with the tree organization. Also you cannot move group folders with placement properties. I need to research all of this further.
Now, next up is either the air or the oil pump which are both a little intimidating. Stay tuned for the next update in a month or so.
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13983 (Git)
Build type: Release
Branch: master
Hash: 8f1c6f77c090ae7d9c2bfd4f18811083b01a3eb2
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
The main engine file has grown so large (139 Mb) that it is no longer practical to add new models due to the delay in opening the file, recomputes, and frequent auto save. As a consequence, I have created a new file for each of the accessory assemblies: magneto, oil pump, and air pump. These are quite complex machines in themselves. My plan is to merge these with the engine file upon completion so that everything is in one file for reference.
A few screen grabs of the electrical components are included as follows with some brief comments:
. . . . ~
I am quite pleased with V0.18 performance which continues to demonstrate its ability to keep up with the high end CAD packages. Since I rarely attach any sketches or datums to faces, edges, or vertices, models of even this size are remarkably stable.
The only thing still somewhat confusing to me is how to keep all of the body and part origins straight in your head when moving components and creating Draft>clones. In some cases, I just could not understand how to create and include the clones in the same part container as the body if the part had been moved. For this I used PartDesign>Group folders but I am not completely happy with the tree organization. Also you cannot move group folders with placement properties. I need to research all of this further.
Now, next up is either the air or the oil pump which are both a little intimidating. Stay tuned for the next update in a month or so.
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13983 (Git)
Build type: Release
Branch: master
Hash: 8f1c6f77c090ae7d9c2bfd4f18811083b01a3eb2
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
"It is a poor workman who blames his tools..."
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #4
Re: V0.18 Challenge--Clerget 9B Aero Engine--UPDATE #4
If you examine the tree in the first image you will see extensive use of Part containers. There are times, unfortunately, when Draft>clones, Draft>arrays, and Part>mirrors do not play well with bodies and parts when it is time to move components around in an assembly. At least, that is my humble experience. Once we have Assembly3 integrated with FreeCAD proper, then perhaps life be all good. If it can handle this model I will be impressed.
"It is a poor workman who blames his tools..."