V0.21/Assembly4--Ultralight Helicopter--Update #4

Show off your FreeCAD projects here!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

V0.21/Assembly4--Ultralight Helicopter--Update #4

Post by ppemawm »

A friend of mine is thinking about building an ultralight helicopter designed by Oswaldo Durana from drawings he found on the internet. He asked if I would check the drawings for any errors and/or omissions. I know of no better way than to try to build a model first. If you cannot build a model from the drawings you probably cannot machine and assemble the parts either.

So, here are a few screenshots and videos of work in progress:

This is the state of the assembly so far.  The model is about half complete lacking the main rotor blades, the tail rotor gearbox and controls, engine mounting, engine accessories, pilot seat, etc.<br /><br />The Rotax 582 engine model is by Joel Tilquin.  I shamelessly borrowed it from GrabCAD since I have no details of the engine in the drawing set I am checking.  ( https://grabcad.com/library/rotax-582-c-1 )
This is the state of the assembly so far. The model is about half complete lacking the main rotor blades, the tail rotor gearbox and controls, engine mounting, engine accessories, pilot seat, etc.

The Rotax 582 engine model is by Joel Tilquin. I shamelessly borrowed it from GrabCAD since I have no details of the engine in the drawing set I am checking. ( https://grabcad.com/library/rotax-582-c-1 )
Capture9.JPG (232.24 KiB) Viewed 3244 times
The main rotor gearbox and engine input shaft to the high speed pinion.<br />.
The main rotor gearbox and engine input shaft to the high speed pinion.
.
Capture5.JPG (242.76 KiB) Viewed 3244 times
Top view of the main rotor blade grip and pinion detail view.<br />.
Top view of the main rotor blade grip and pinion detail view.
.
Capture6.JPG (182.82 KiB) Viewed 3244 times
View showing the main rotor gearbox support and blade pitch and tilt control linkage.<br />.
View showing the main rotor gearbox support and blade pitch and tilt control linkage.
.
Capture8.JPG (129.12 KiB) Viewed 3244 times
This is a video of the tail rotor pitch control animated by Assembly4 to check clearances and travel limits.

phpBB [video]


This video superimposes the rotor rotation with the pitch control linked to the rotation by a sin function expression so that the pitch cycles twice per revolution.

phpBB [video]


I will add some additional posts as my spare time allows to comment on my modelling process starting with the primary structure consisting of straight pieces of welded tubing.

Code: Select all

OS: Windows 10 (10.0)
Word size of FreeCAD: 64-bit
Version: 0.20.29126 (Git)
Build type: Release
Branch: master
Hash: 6c1c63cffebe6a9d55bd9b1d8ca6b741a4d16548
Python 3.8.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
Locale: English/United States (en_US)
Installed mods: 
  * Assembly4 0.12.0
  * fasteners 0.3.41
  * fcgear 1.0.0
Last edited by ppemawm on Sun Jul 17, 2022 4:34 pm, edited 5 times in total.
"It is a poor workman who blames his tools..." ;)
mario52
Veteran
Posts: 4673
Joined: Wed May 16, 2012 2:13 pm

Re: V0.20/Assembly4--Ultralight Helicopter

Post by mario52 »

Hi

another beautiful project

here the WWII model for UBoat Focke-Achgelis_Fa_330 without motor (was a type of rotary-wing kite)

mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.20/Assembly4--Ultralight Helicopter--Update #1

Post by ppemawm »

mario52 wrote: Mon Jul 04, 2022 9:03 am here the WWII model for UBoat Focke-Achgelis_Fa_330 without motor (was a type of rotary-wing kite)
Thanks for the link Mario. Most interesting.

My friend and I have done some more research about the ultralight helicopter he is considering and have since uncovered a couple of YT videos of builds in process which you may find interesting as well:
https://www.youtube.com/watch?v=_zDGD9s ... bh&index=2
https://www.youtube.com/c/JeffChoppah
These videos have helped greatly to sort out the drawings since they are quite lacking in all the information need to properly build the model. Needless to say, we have already uncovered many errors and omissions in the drawings. That does not give much confidence in the airworthiness of the design, but there are videos of this ultralight in flight so it probably all depends heavily upon the fabricator.

I started creating the ultralight helicopter model with the basic frame or primary structure to which all other components attach. The following images and comments hopefully give you an idea of one way of constructing a model of a welded tubular frame using the PartDesign workbench:

The first step in the process is to add PartDesign (PD) datum points to the primary structure Body at all of the key intersections of the tubing as shown in the image. <br /><br />These are attached to the LCS origin or each other with ObjectOrigin mode and then offset as necessary in the X,Y, and Z axes as required by the drawing.  If you use the Assembly4 Body it includes a default assembly LCS.
The first step in the process is to add PartDesign (PD) datum points to the primary structure Body at all of the key intersections of the tubing as shown in the image.

These are attached to the LCS origin or each other with ObjectOrigin mode and then offset as necessary in the X,Y, and Z axes as required by the drawing. If you use the Assembly4 Body it includes a default assembly LCS.
Capture12.JPG (158.8 KiB) Viewed 2979 times
The next step is to attach PD datum lines to the datum points as can be seen in the above image.  All these datums in one view can be confusing so I usually create them as needed rather than all in one step.<br /><br />The datum lines are attached with the TwoPoints mode.  No attachment offset is required.
The next step is to attach PD datum lines to the datum points as can be seen in the above image. All these datums in one view can be confusing so I usually create them as needed rather than all in one step.

The datum lines are attached with the TwoPoints mode. No attachment offset is required.
Capture13.JPG (201.89 KiB) Viewed 2979 times
Now you have a reference to attach sketches.  You can attach the sketch directly to the datum points or the datum lines.  I like the latter since it gives a better visual reference.<br /><br />In this example, the sketch is attached to a reference datum line with ObjectXZ map mode with no attachment offset.  I chose to use a revolve sketch with the tube radius dimension.  No length dimension is required since that is constrained by external reference to the datum points.<br /><br />You could also attach the sketch of a tube diameter to the datum line with normal-to-edge map mode and then use a pad but you would have to specify a pad length.  Not quite as handy as the other method IMO.
Now you have a reference to attach sketches. You can attach the sketch directly to the datum points or the datum lines. I like the latter since it gives a better visual reference.

In this example, the sketch is attached to a reference datum line with ObjectXZ map mode with no attachment offset. I chose to use a revolve sketch with the tube radius dimension. No length dimension is required since that is constrained by external reference to the datum points.

You could also attach the sketch of a tube diameter to the datum line with normal-to-edge map mode and then use a pad but you would have to specify a pad length. Not quite as handy as the other method IMO.
Capture14.JPG (226.49 KiB) Viewed 2979 times
This shows the completed frame with all of its features including some tabs for attaching other components.  The frame design is mostly symmetrical about the XZ plane so it is possible to only create one half of the model and mirror it.  I used several intermediate mirrors rather than wait until the end to mirror all the features.<br /><br />The combo panel can get a bit unwieldy with this many features and datum so it is helpful to add the tree view to the right side of the work area so that all of the history is easily accessible when editing.<br /><br />Note that this method of creating frames from straight lengths of tubing is quite stable and will tolerate dimensional changes  or add/deletion of features without breaking the model.
This shows the completed frame with all of its features including some tabs for attaching other components. The frame design is mostly symmetrical about the XZ plane so it is possible to only create one half of the model and mirror it. I used several intermediate mirrors rather than wait until the end to mirror all the features.

The combo panel can get a bit unwieldy with this many features and datum so it is helpful to add the tree view to the right side of the work area so that all of the history is easily accessible when editing.

Note that this method of creating frames from straight lengths of tubing is quite stable and will tolerate dimensional changes or add/deletion of features without breaking the model.
Capture11.JPG (226.51 KiB) Viewed 2979 times
The rest of the primary structure sub-assembly was put together with the Assembly4 workbench.  I included some of the components such as the landing skids, main motor mast, instrument console, and some of the miscellaneous brackets which logically belonged (at least in my mind) to the sub-assembly.<br /><br />All of these component bodies were created in the sub-assembly file in the Assembly4 Parts folders.  This helps to simplify the directory where all of the FreeCAD files are saved for the project.  You can reuse any of these bodies in other projects but one would have to have the sub-assembly file open when assembling.
The rest of the primary structure sub-assembly was put together with the Assembly4 workbench. I included some of the components such as the landing skids, main motor mast, instrument console, and some of the miscellaneous brackets which logically belonged (at least in my mind) to the sub-assembly.

All of these component bodies were created in the sub-assembly file in the Assembly4 Parts folders. This helps to simplify the directory where all of the FreeCAD files are saved for the project. You can reuse any of these bodies in other projects but one would have to have the sub-assembly file open when assembling.
Capture10.JPG (241.96 KiB) Viewed 2979 times

Code: Select all

OS: Windows 10 (10.0)
Word size of FreeCAD: 64-bit
Version: 0.20.29126 (Git)
Build type: Release
Branch: master
Hash: 6c1c63cffebe6a9d55bd9b1d8ca6b741a4d16548
Python 3.8.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
Locale: English/United States (en_US)
Installed mods: 
  * Assembly4 0.12.0
  * fasteners 0.3.41
  * fcgear 1.0.0
"It is a poor workman who blames his tools..." ;)
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by ppemawm »

The following images include the main rotor control sub-assemblies and a few comments about the complexity of properly aligning the various components during assembly.

This is the main rotor control assemblies which IMO is a quite ingenious design considering how many degrees of control that are apparently necessary for flying a helicopter.  The foot pedals and mechanisms required for the tail rotor torque control are not shown but will be included in a future post.<br /><br />The combo and tree views of this image also show all of the sub-assemblies links created thus far with Assembly4 and the files that are required.  There are two files I recommend for any assembly:  MasterVariable and Commercial_Hardware.  The MasterVariable Assembly4 file is for all of the global variables that you may want to use in the various sub-assemblies especially if it has moving parts.  Simply &quot;assemble&quot; a link to this file in the sub-assembly that requires the variable.  These variables can also be used by the Assembly4 animator to check for proper operation or visually check for collisions.  Run the animator from the MasterVariable file.<br /><br />The Commercial_Hardware file is a means for collecting all of the STEP files for the purchased parts in one location specific to the project.  Download the STEP file and import it into the Commercial_Hardware file.  Add an Assembly4 Part container and drop the import into the container.  You can then adjust the default LCS attachment offsets as required by the assembly.
This is the main rotor control assemblies which IMO is a quite ingenious design considering how many degrees of control that are apparently necessary for flying a helicopter. The foot pedals and mechanisms required for the tail rotor torque control are not shown but will be included in a future post.

The combo and tree views of this image also show all of the sub-assemblies links created thus far with Assembly4 and the files that are required. There are two files I recommend for any assembly: MasterVariable and Commercial_Hardware. The MasterVariable Assembly4 file is for all of the global variables that you may want to use in the various sub-assemblies especially if it has moving parts. Simply "assemble" a link to this file in the sub-assembly that requires the variable. These variables can also be used by the Assembly4 animator to check for proper operation or visually check for collisions. Run the animator from the MasterVariable file.

The Commercial_Hardware file is a means for collecting all of the STEP files for the purchased parts in one location specific to the project. Download the STEP file and import it into the Commercial_Hardware file. Add an Assembly4 Part container and drop the import into the container. You can then adjust the default LCS attachment offsets as required by the assembly.
Capture15.JPG (237.7 KiB) Viewed 2718 times
These are the two main pilot control handles that actuate the four control mechanisms: pitch, roll, lift, and power (throttle).  The left hand stick is for changing the rotor blade pitch which increases lift.  It also includes the throttle to maintain the rotor RPM.<br /><br />The joy stick can be moved forward, backward  and sideways to change the tilt or plane of the rotor by moving the upper end of the red push-pull rod sideways where it connects to the spherical ball joint of the spindle in the main gearbox shown in the next image.
These are the two main pilot control handles that actuate the four control mechanisms: pitch, roll, lift, and power (throttle). The left hand stick is for changing the rotor blade pitch which increases lift. It also includes the throttle to maintain the rotor RPM.

The joy stick can be moved forward, backward and sideways to change the tilt or plane of the rotor by moving the upper end of the red push-pull rod sideways where it connects to the spherical ball joint of the spindle in the main gearbox shown in the next image.
Capture17.JPG (225.64 KiB) Viewed 2718 times
The assembly of these control components turned out to be a challenge mainly due to all of the spherical joints and the difficulty of &quot;closing-the-loop&quot; without an assembly solver.  This is usually done with a master sketch but in this instance I was able to adjust and align the components somewhat by trial and error.<br /><br />The image on the left shows the components used for adjustment via the attachment offsets and the image on the right are the alignment points which close the loop.<br /><br />For a given control handle position the angles of the vertical rod ends, the bellcranks, and the couplings were adjusted until the last joints were properly aligned.  Note that the three push-pull rods are in their neutral positions i.e. the rotor is in the XY plane and the blades have zero pitch.  Any change in control input would require realignment since there is no explicit solver in Assembly4.
The assembly of these control components turned out to be a challenge mainly due to all of the spherical joints and the difficulty of "closing-the-loop" without an assembly solver. This is usually done with a master sketch but in this instance I was able to adjust and align the components somewhat by trial and error.

The image on the left shows the components used for adjustment via the attachment offsets and the image on the right are the alignment points which close the loop.

For a given control handle position the angles of the vertical rod ends, the bellcranks, and the couplings were adjusted until the last joints were properly aligned. Note that the three push-pull rods are in their neutral positions i.e. the rotor is in the XY plane and the blades have zero pitch. Any change in control input would require realignment since there is no explicit solver in Assembly4.
Capture16.JPG (272.2 KiB) Viewed 2718 times
This is an example of one of the adjustment points used to align the red push-pull rod.  The spherical rod end attachment angle was adjusted about its axes a small amount until the rod upper end aligned with the spindle controlling the blade pitch.  A tiny amount at the spherical joint makes a huge difference on the other end due to the length of the rod.
This is an example of one of the adjustment points used to align the red push-pull rod. The spherical rod end attachment angle was adjusted about its axes a small amount until the rod upper end aligned with the spindle controlling the blade pitch. A tiny amount at the spherical joint makes a huge difference on the other end due to the length of the rod.
Capture18.JPG (278.48 KiB) Viewed 2718 times
A more preferable and exact method of &quot;closing-the-loop&quot; in an assembly uses a master sketch.  This simple example is the mechanism for changing the pitch of the tail rotor blades.  The variable (yellow dimension) is the axial (horizontal) position of the green pitch control head.  The two spherical end couplings transmit this motion to rotation.  In order to assemble these components you have to know the angle of the couplings for a given axial position of the control head and the pitch angle of the rotor blades.<br /><br />Using the sketch as a solver, you can plot these angles in Excel as a function of axial position and then use curve fits for the variables to be used for attachment offsets as shown in the properties panel above.
A more preferable and exact method of "closing-the-loop" in an assembly uses a master sketch. This simple example is the mechanism for changing the pitch of the tail rotor blades. The variable (yellow dimension) is the axial (horizontal) position of the green pitch control head. The two spherical end couplings transmit this motion to rotation. In order to assemble these components you have to know the angle of the couplings for a given axial position of the control head and the pitch angle of the rotor blades.

Using the sketch as a solver, you can plot these angles in Excel as a function of axial position and then use curve fits for the variables to be used for attachment offsets as shown in the properties panel above.
Capture20.JPG (266 KiB) Viewed 2718 times

Code: Select all

OS: Windows 10 (10.0)
Word size of FreeCAD: 64-bit
Version: 0.20.29126 (Git)
Build type: Release
Branch: master
Hash: 6c1c63cffebe6a9d55bd9b1d8ca6b741a4d16548
Python 3.8.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
Locale: English/United States (en_US)
Installed mods: 
  * Assembly4 0.12.0
  * fasteners 0.3.41
  * fcgear 1.0.0
"It is a poor workman who blames his tools..." ;)
User avatar
Shalmeneser
Veteran
Posts: 9474
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by Shalmeneser »

ppemawm wrote: Fri Jul 08, 2022 4:37 pm Using the sketch as a solver, you can plot these angles in Excel as a function of axial position and then use curve fits for the variables to be used for attachment offsets as shown in the properties panel above.
How do you go from the sketcher to Excel ?
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by ppemawm »

Shalmeneser wrote: Fri Jul 08, 2022 5:10 pm How do you go from the sketcher to Excel ?
Old school. Manually.
Change the sketch then record the values in Excel.
"It is a poor workman who blames his tools..." ;)
User avatar
Shalmeneser
Veteran
Posts: 9474
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by Shalmeneser »

Could it be possible with a python macro ?
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by ppemawm »

Shalmeneser wrote: Fri Jul 08, 2022 5:50 pm Could it be possible with a python macro ?
I do not know since I'm no programmer except for what little you can do with Excel VBA.
What would be really useful is if you could extract the values directly from the Sketch using expressions in the Attachment Offset.
But, I do not know how to do that either without creating a circular reference.
"It is a poor workman who blames his tools..." ;)
User avatar
Zolko
Veteran
Posts: 2213
Joined: Mon Dec 17, 2018 10:02 am

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by Zolko »

ppemawm wrote: Fri Jul 08, 2022 4:37 pm The following images include the main rotor control sub-assemblies and a few comments about the complexity of properly aligning the various components during assembly.
absolutely stunning !!!

:shock:

since there is no explicit solver in Assembly4
yes, this is now a real drawback of Assembly4. I've planned to port the A2+ solver to Assembly4, because I have the feeling that they should "marry" quite easily, both being fully Python (and A2+ being very nicely coded). But I'd need help as Assembly4 has reach my level of incompetence a long time ago.
try the Assembly4 workbench for FreCAD — tutorials here and here
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.20/Assembly4--Ultralight Helicopter--Update #2

Post by ppemawm »

Thank you for your kind comments.
Zolko wrote: Sat Jul 09, 2022 8:40 am yes, this is now a real drawback of Assembly4...
No complaints.

I do not see it as a serious drawback since it simply requires the user to actually think about and understand what he is doing.
It has not failed me yet, but it does require a more mathematical approach than other assemblers which is probably not too popular.

The sketch solver and expressions are sufficient IMHO. Easy is not always best.
"It is a poor workman who blames his tools..." ;)
Post Reply