Using Multiple Body Links in Assembly4 V0.12.4

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Using Multiple Body Links in Assembly4 V0.12.4

Post by ppemawm »

In a previous post https://forum.freecadweb.org/viewtopic.php?f=20&t=71738 an example of using Draft Arrays for multiple links was presented. This works quite well for most cases. However, if you have to adjust the position of any one particular element of the group it is not so easily done. In this example from the same project it was required that each element of the array be moved to its own unique position. This is when link Element Count comes in handy as shown in the following images with caption comments.

The highlighted sub-assembly is the lock cylinder from the 1860's Gatling gun I am modelling.  This is the mechanism that positions each bullet when the cylinder and barrel assembly is rotated by the hand crank.  <br /><br />The axial position of the lock tubes and bullets is driven by a cylindrical cam in the breech casing.  The cam is stationary and the lock cylinder rotates on the same shaft as the barrels.<br /><br />The hopper and feed guide (magazine) are shown in their open position and the breech is transparent so that the lock cylinder assembly is visible in this image.
The highlighted sub-assembly is the lock cylinder from the 1860's Gatling gun I am modelling. This is the mechanism that positions each bullet when the cylinder and barrel assembly is rotated by the hand crank.

The axial position of the lock tubes and bullets is driven by a cylindrical cam in the breech casing. The cam is stationary and the lock cylinder rotates on the same shaft as the barrels.

The hopper and feed guide (magazine) are shown in their open position and the breech is transparent so that the lock cylinder assembly is visible in this image.
Capture21.jpg (497.93 KiB) Viewed 648 times
The lock cylinder is fed from the magazine by gravity.  Since all of the bullets are in the same axial position, I could use Draft Link Arrays for locating all of the bullets as in the referenced previous post above.
The lock cylinder is fed from the magazine by gravity. Since all of the bullets are in the same axial position, I could use Draft Link Arrays for locating all of the bullets as in the referenced previous post above.
Capture19.jpg (329.38 KiB) Viewed 648 times
The lock cylinder sub-assembly consists of two assemblies which include the lock tubes which contain the firing pin and extractor mechanism and the bullet themselves.  All of these individual body links has to be positioned individually axially as well as around the perimeter of the cylinder.  There are 10 locks feeding 10 barrels and 8 bullets at any one time that have not been ejected.
The lock cylinder sub-assembly consists of two assemblies which include the lock tubes which contain the firing pin and extractor mechanism and the bullet themselves. All of these individual body links has to be positioned individually axially as well as around the perimeter of the cylinder. There are 10 locks feeding 10 barrels and 8 bullets at any one time that have not been ejected.
Capture20.jpg (357.54 KiB) Viewed 648 times
The Element Count property may be used to obtain multiple copies of the assembly links.  In this example one bullet is attached to the lock cylinder centerline LCS and offset in its initial radial and axial position.<br /><br />The Element Count creates eight (8) copies all in the same location.  The next image shows how the individual bullets in the link array can be positioned.
The Element Count property may be used to obtain multiple copies of the assembly links. In this example one bullet is attached to the lock cylinder centerline LCS and offset in its initial radial and axial position.

The Element Count creates eight (8) copies all in the same location. The next image shows how the individual bullets in the link array can be positioned.
Capture22.jpg (608.72 KiB) Viewed 648 times
The Placement panel is where you can change the position of each element.  Open this panel from the ellipsis in the Placement property of the link property view.  This panel is a little tricky to use and somewhat non-intuitive until you practice a couple hundred of times.  Just joking, but it is a bit awkward IMO.<br /><br />First, click the tick box for the incremental change property and then set the center of the rotational axis for polar positioning.  Select the axis (X) and finally the angle (144 deg).<br /><br />The axial position (Y) can be more easily set separately from Placement &gt; Position in the property view by selecting the link in the tree.
The Placement panel is where you can change the position of each element. Open this panel from the ellipsis in the Placement property of the link property view. This panel is a little tricky to use and somewhat non-intuitive until you practice a couple hundred of times. Just joking, but it is a bit awkward IMO.

First, click the tick box for the incremental change property and then set the center of the rotational axis for polar positioning. Select the axis (X) and finally the angle (144 deg).

The axial position (Y) can be more easily set separately from Placement > Position in the property view by selecting the link in the tree.
Capture23.jpg (573.96 KiB) Viewed 648 times
.
Any questions or comments are welcome.

Code: Select all

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.21.30716 (Git)
Build type: Release
Branch: master
Hash: cbd19631428f1d9eb4faae30220551608a648589
Python 3.10.6, Qt 5.15.4, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: English/United States (en_US)
Installed mods: 
  * Assembly4 0.12.4
  * fasteners 0.4.15
  * freecad.gears 1.0.0
  * QuickMeasure 2022.10.28
"It is a poor workman who blames his tools..." ;)
Post Reply