V0.19 Top Down Assembly Design Using Assembly4--Update #11
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
V0.19 Top Down Assembly Design Using Assembly4--Update #11
These are a few of the models I built some time ago while developing the work process for top down design / in-context modelling of assemblies using Assembly4 and PartDesign workbenches. Each has a different strategy with their own advantages and disadvantages.
Top down design is necessary when drawings do not exist and usually starts with a skeleton or master sketch(es) to define assembly interfaces and overall design intent. All bodies are in a single file, and each body feature is created in-context using modified carbon copies of the master sketch. Assembly4 is used to add fasteners and duplicate parts, and to define variables primarily for animation purposes to check clearances of moving parts. Top down design requires a robust modelling approach since many changes are usually necessary as the design evolves.
The models are available to anyone via PM or I can add additional posts with more images briefly describing the process for each if there is general interest:
1. Compression Ignition Aeromotor (Bottom-up Baseline)
2. Rack and Pinion Arbor Press
3. Antique Blowtorch
4. Geared Hand Grinder
5. Steam Punk Cigarette Lighter
EDIT to add:
6. Hand Grinder
7. Spiral Jack
8. 2-Speed Hand Drill
9. Rachet Screwdriver
10. Sterling Helicopter Animation
11. Push Mower sub-Assemblies
Inspiration for 2-11 were taken from restoration videos on YouTube as referenced in the following images:
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21769 (Git)
Build type: Release
Branch: master
Hash: 801bfe4ba5f0910e9b2885917c521ab7fd8e9020
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)
Top down design is necessary when drawings do not exist and usually starts with a skeleton or master sketch(es) to define assembly interfaces and overall design intent. All bodies are in a single file, and each body feature is created in-context using modified carbon copies of the master sketch. Assembly4 is used to add fasteners and duplicate parts, and to define variables primarily for animation purposes to check clearances of moving parts. Top down design requires a robust modelling approach since many changes are usually necessary as the design evolves.
The models are available to anyone via PM or I can add additional posts with more images briefly describing the process for each if there is general interest:
1. Compression Ignition Aeromotor (Bottom-up Baseline)
2. Rack and Pinion Arbor Press
3. Antique Blowtorch
4. Geared Hand Grinder
5. Steam Punk Cigarette Lighter
EDIT to add:
6. Hand Grinder
7. Spiral Jack
8. 2-Speed Hand Drill
9. Rachet Screwdriver
10. Sterling Helicopter Animation
11. Push Mower sub-Assemblies
Inspiration for 2-11 were taken from restoration videos on YouTube as referenced in the following images:
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21769 (Git)
Build type: Release
Branch: master
Hash: 801bfe4ba5f0910e9b2885917c521ab7fd8e9020
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)
Last edited by ppemawm on Sun Nov 15, 2020 5:41 pm, edited 10 times in total.
"It is a poor workman who blames his tools..."
Re: V0.19 Top Down Assembly Design Using Assembly4
Very impressive - as always. Thanks for sharing.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
- Gregory son of Carl
- Posts: 99
- Joined: Mon Apr 06, 2020 7:42 pm
- Location: California
Re: V0.19 Top Down Assembly Design Using Assembly4
Incredible work ppemawm! All of these models look very professional. Do you have any lessons-learned from this project about what NOT to do for top-down assemblies? Techniques to avoid, things that create problems later, etc.?
Also, how did you create your exploded view for #1 Compression Ignition Aeromotor?
Also, how did you create your exploded view for #1 Compression Ignition Aeromotor?
Re: V0.19 Top Down Assembly Design Using Assembly4
Do you have any comments on the array tools?
They received quite a lot of improvements in this development cycle. For example, the Draft PathArray gained more modes of alignment recently.
Currently there is still a pull request pending (#3569) to improve the Axis Reference property of the Draft PolarArray and Draft CircularArray. This should make it easier to select any datum line, or edge, to use as reference for the normal direction of the array.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
Re: V0.19 Top Down Assembly Design Using Assembly4
Thank you for your kind comments.
2. Changing the master sketch half way through the process. If you try to add or subtract geometry to the master it will most likely break any body or local coordinate system (LCS) that is dependent on the sketch. Modifying the sketch geometry will likely change the numbering of the edges and vertices. You can of course change dimensional constraints within reason.
3. I have generally stopped using the master sketch as the solver to animate the moving bodies. LCS's attached to the master sketch will sometimes jump positions as the master is manipulated over its range of variation. If that happens, the bodies attached to the LCS will also jump. That why it is good practice to manipulate the master sketch in the beginning over its complete range to insure it is stable before creating any body dependent upon it.
Rather, I now manipulate the Assembly4 LCS's directly with expressions and variables. Besides being more stable, expressions can accept conditional statements for more complicated movements.
4. Avoid attaching the assembly LCS's to body edges or vertices or you will be susceptible to the dreaded topological naming problem if you modify any of the bodies. You can almost always attach to the master sketch. With that in mind, I usually add circles to the master sketch at the fastener locations, for example.
5. Picking the wrong plane for the master sketch or not taking advantage of symmetry. You can almost always find a plane for the master sketch that will allow you to create 80% of the bodies and features from a modified version of the master carbon copy. Remember that revolves and grooves are your friend if you need to create bosses or holes parallel to the master sketch plane. Remember also that you can move the carbon copy perpendicularly to the master sketch planeas needed to create bodies or features not in the master sketch plane.
6. You can save some time by duplicating the carbon copy master sketch to start a new body. This allows you to create a master for each new body which can have more detail than the assembly master. You can then carbon copy this duplicated sketch for the body features. Just be sure to not duplicate the duplicate because it can get too complicated to keep track of who depends on who for parametric purposes.
7. Make sure you create each body from the Assembly4 menu since it will already have its own LCS which you can place at its assembly mating location on the master sketch. Activating this body will take you automatically to PartDesign.
1. Making the master sketch too simple or too complex. It takes some trial and error practice to find the right balance. Make it simple but not too simple.Gregory son of Carl wrote: ↑Wed Jul 08, 2020 6:04 pm Do you have any lessons-learned from this project about what NOT to do for top-down assemblies? Techniques to avoid, things that create problems later, etc.?
2. Changing the master sketch half way through the process. If you try to add or subtract geometry to the master it will most likely break any body or local coordinate system (LCS) that is dependent on the sketch. Modifying the sketch geometry will likely change the numbering of the edges and vertices. You can of course change dimensional constraints within reason.
3. I have generally stopped using the master sketch as the solver to animate the moving bodies. LCS's attached to the master sketch will sometimes jump positions as the master is manipulated over its range of variation. If that happens, the bodies attached to the LCS will also jump. That why it is good practice to manipulate the master sketch in the beginning over its complete range to insure it is stable before creating any body dependent upon it.
Rather, I now manipulate the Assembly4 LCS's directly with expressions and variables. Besides being more stable, expressions can accept conditional statements for more complicated movements.
4. Avoid attaching the assembly LCS's to body edges or vertices or you will be susceptible to the dreaded topological naming problem if you modify any of the bodies. You can almost always attach to the master sketch. With that in mind, I usually add circles to the master sketch at the fastener locations, for example.
5. Picking the wrong plane for the master sketch or not taking advantage of symmetry. You can almost always find a plane for the master sketch that will allow you to create 80% of the bodies and features from a modified version of the master carbon copy. Remember that revolves and grooves are your friend if you need to create bosses or holes parallel to the master sketch plane. Remember also that you can move the carbon copy perpendicularly to the master sketch planeas needed to create bodies or features not in the master sketch plane.
6. You can save some time by duplicating the carbon copy master sketch to start a new body. This allows you to create a master for each new body which can have more detail than the assembly master. You can then carbon copy this duplicated sketch for the body features. Just be sure to not duplicate the duplicate because it can get too complicated to keep track of who depends on who for parametric purposes.
7. Make sure you create each body from the Assembly4 menu since it will already have its own LCS which you can place at its assembly mating location on the master sketch. Activating this body will take you automatically to PartDesign.
You can easily and quickly explode an assembly using placement properties for each body.Gregory son of Carl wrote: ↑Wed Jul 08, 2020 6:04 pm Also, how did you create your exploded view for #1 Compression Ignition Aeromotor
"It is a poor workman who blames his tools..."
Re: V0.19 Top Down Assembly Design Using Assembly4
I have noticed the added capability but have not had much of a chance to use them.
The original linear, polar, and path arrays met 90% of my needs for mechanical design.
The Axis Reference property will be a welcome improvement.
"It is a poor workman who blames his tools..."
- Gregory son of Carl
- Posts: 99
- Joined: Mon Apr 06, 2020 7:42 pm
- Location: California
Re: V0.19 Top Down Assembly Design Using Assembly4
Wow. Thanks for that thorough write up. This looks like some good stuff.
I guess you had to move it all back manually or ctrl+z it back after getting the picture then? That sounds a little inconvenient
Re: V0.19 Top Down Assembly Design Using Assembly4
Not really. I just do not save it that way or I save in another file if I want a permanent exploded copy.Gregory son of Carl wrote: ↑Wed Jul 08, 2020 8:58 pm I guess you had to move it all back manually or ctrl+z it back after getting the picture then? That sounds a little inconvenient
"It is a poor workman who blames his tools..."
Re: V0.19 Top Down Assembly Design Using Assembly4
Thank you very much for these nice examples and the information you've shared with us!
Regards / Viele Grüße
Max
Max
Re: V0.19 Top Down Assembly Design Using Assembly4
1) you're really a master here (Note: please consider the use of the word "master" here from the "master in arts" variety and not "master/slave" combination).ppemawm wrote: ↑Wed Jul 08, 2020 7:21 pmYou can easily and quickly explode an assembly using placement properties for each body.Gregory son of Carl wrote: ↑Wed Jul 08, 2020 6:04 pm Also, how did you create your exploded view for #1 Compression Ignition Aeromotor
2) concerning the exploded view, did you try to edit the placement of a part, hit "Ignore" which liberates the placement constraint but leaves the part in place, and then move the part with the dragger (right-click > Transform) ? Or did you edit the placement of the part by hand ?
3) of course, this calls for an exploded view function of the assembly, do you have some suggestions as to what/how to achieve this ?