Home / Articles & essais matériel d'aéromodélisme / Conception d’avion : dessiner son profil d’aile avec un logiciel de dessin gratuit

Conception d’avion : dessiner son profil d’aile avec un logiciel de dessin gratuit

Concevoir son avion : dessiner son profil d'aile avec un logiciel de dessin gratuit

Dessiner son profil d’aile et ses nervures

Aujourd’hui nous avons un invité : Vincent, ingénieur automobile et aéronautique.  Vincent en plus d’être un spécialiste en CAO est également pilote et instructeur de planeurs grandeur. Il conçoit actuellement un remorqueur nouvelle génération. Ce fût du coup l’occasion pour nous de discuter de l’approche pédagogique de l’aviation, que ce soit en grandeur réelle comme en aéromodélisme et en pilotage comme en conception.

Dessiner son profil d’aile et ses nervures : la vidéo

Après la lecture de cette vidéo vous saurez :

– récupérer et dessiner un profil d’aile avec un logiciel gratuit
– dessiner la surface de votre aile
– en sortir des sections pour pouvoir les imprimer

La vidéo dure 40mn pour que vous puissiez avoir tous les détails étape par étape. Vos commentaires sont bienvenus en bas de page.

 

Présentation de Vincent, formateur CAO & pilote planeur grandeur

Bonjour Vincent, tu es formateur CAO sur Catia, logiciel phare dans l’aéronautique. Pour ce tuto déjà merci d’avoir proposé FreeCad, logiciel gratuit et open source pour les lecteurs d’aero-modelisme.com

Oui, effectivement, dans cet article, je vais vous parler d’un sujet qui m’est personnellement un peu nouveau car il s’agit pour moi de pratiquer la CAO, non pas sur Catia, mais sur FreeCAD en vous montrant comment automatiser le tracé du jeu de nervures d’une aile de modèle réduit. On peut faire les étapes une par une mais l’utilisation des fonctions macro est intéressante dans ce logiciel où finalement on peut faire très facilement des routines de codes générés par l’outil.

Tes lecteurs vont voir que c’est très facile d’autant que j’ai pré-maché le travail, ils n’auront plus qu’à copier/coller des lignes dans la fenêtre. C’est une nouvelle approche du dessin et c’est important de donner le goût aux nouvelles générations. Les enjeux sont là.

 Peux-tu nous en dire un peu plus sur toi ?

Si mon domaine de prédilection est la CAO sur Catia, je suis également un grand adorateur de l’aviation.

Photo de Vincent en Vol à Voile.
Photo de Vincent en Vol à Voile.

Pilote de planeurs grandeurs, j’ai comme toi, une passion pour tout ce qui vole, grand ou petit.

Dans la pratique du Vol à Voile, j’ai appris beaucoup de choses, bien plus que le « simple » fait de tenir les commandes et de manœuvrer ces grandes plumes à plusieurs milliers de mètres du sol.
Non, l’aviation grande ou petite, c’est plus que ça, c’est un monde de réflexion et de rigueur.
Un vol, ça se prépare et même pendant celui-ci, il faut être devant la machine et anticiper le probable comme le manque d’ascendances ou les pannes au décollage… »Et si le câble pette à ce moment là, je fais quoi ? Je me pose devant ou je tente le champ à droite ? ».

Vous l’aurez compris, en aviation, ce n’est pas au moment où le problème se produit qu’il faut trouver une solution mais AVANT car le temps passe très vite compte tenu des vitesses.
Si l’on pouvait résumer l’activité aérienne, ce serait un petit peu de technique, beaucoup de préventif pour beaucoup de plaisir.

Cette démarche est également l’approche de Loïc, adaptée au pilotage RC et en tant que pilote grandeur, je trouve cela approprié et surtout indispensable pour maximiser ses chances de réussite et donc de plaisir en pilotant un modèle à distance.

Au détour d’une conversation avec toi, l’idée m’a plus d’écrire un article mêlant la conception 3D et l’aéromodélisme sachant que tu inscris l’aéromodélisme bien au delà d’un simple loisir mais belle et bien comme un outil et une pièce de puzzle pour la conception et la compréhension de l’aviation grandeur.

C’est donc avec plaisir que vous propose ce tuto sur FreeCad en souhaitant que cela vous aide ou simplement vous ouvre l’esprit sur ce qui est aujourd’hui faisable dans le domaine de la CAO adaptée à l’aéromodélisme.

Bonne lecture !

Vincent

Pas à pas, création automatisée d’un jeu de nervures d’une aile d’avion RC sur FreeCAD.

1.Production du profil à partir d’un fichier de points

Vous trouverez toutes les étapes écrites ci-dessous mais également pensez à regarder la vidéo pas à pas encore plus complète en début d’article ( cliquez ici ).

Sur Airfoil tools, on trouve tout ce qu’il faut.

La base de données airfoil database
La base de données de profils NACA Airfoil tools.

Il suffit de prendre les coordonnées du profil en *.dat et de l’enregistrer sur son répertoire de travail.

Comment se présente un fichier de points pour définir un profil NACA

Pour redessiner un profil NACA, on utilise une série de points. La colonne de gauche défini l’abscisse, la colonne de droite les ordonnés. Le point 0,0 est le bord d’attaque. On voit que ici l’on part du bord de fuite d’une valeur de corde 1 en abscisse, pour revenir vers l’avant par l’extrados ( valeurs positives), puis on arrive au point stagnant du bord d’attaque ( 0,0 ) pour repartir au bord de fuite coté intrados, d’où les valeurs négatives en ordonnés.

exemple fichier de points profil NACA

Ci dessus, le profil NACA 4418 défini avec une série de points et leurs coordonnés en abscisse et ordonnée.

Un fichier/importer nous propose directement de produire un profil à partir du fichier … Cool !

 

Facettes bien visible lors de l'import. L'outil spline va permettre d'obtenir un profil exact.
Facettes bien visible sur le bord d’attaque lors de l’import. L’outil Bspline va permettre d’obtenir un profil exact.

C’est un peu facettisé mais on peut le transformer en Bspline.

Avec le contour fermé, la spline se trouve contrainte au bord de fuite.
Avec le contour fermé, la spline se trouve contrainte au bord de fuite.

Il faut penser à préciser profil ouvert pour éviter une déformation vers le bord de fuite.
En examinant le fichier de points on voit qu’au bord de fuite, il y a une petite ouverture.
Il suffit de la fermer avec un bout de ligne.
Une multi-sélection de la ligne et du profil permet de les joindre en cliquant une fois sur le bouton Upgrade.
En refaisant un Upgrade sur cet objet, on produit une face

Le profil d'aile lissé et fini.
Le profil d’aile lissé et fini.

2.Obtention de l’aile

Pour faire une aile, il nous faut maintenant agrandir un peu ce profil millimétrique.
Oui, il mesure un mm de long car le fichier de points va de 0.000 à 1.000 sans unité.
A l’import dans le logiciel de dessin, l’unité par défaut est le millimètre donc le profil est de cette taille.
Dans les paramètres de cet objet, je modifie le « Placement » en X de -0.25 pour que l’origine du modèle soit à 25% de la corde (au foyer profil).
Plutôt que de modifier cet objet pour l’agrandir, j’ai préféré le cloner et modifier le clone.
C’est facile, sur le clone, il y a directement des paramètres pour l’échelle.
On multiplie par 150 en X et en Y et nous voilà avec un profil d’emplanture de 150 mm.
Encore un clone de ce grand profil d’emplanture et un « Placement » en Z à 500mm puis un Scale de 0.5 en X et Y et nous voilà avec un profil de saumon moitié plus petit (pour faire une aile effilée).
Je m’arrête là dans les modifs mais on pourrait facilement mettre du dièdre et du vrillage négatif.

La section d'emplanture et la section du saumon qui vont servir à générer l'aile.
La section d’emplanture et la section du saumon qui vont servir à générer l’aile.

 

Avec ces deux surfaces en forme de profil on peut maintenant faire un solide « Loft » (raccord entre deux sections).

 

Génération de notre surface d'aile, qui est un volume en fait dans lequel on va venir définir les sections pour en extraire nos nervures.
Génération de notre surface d’aile, qui est un volume en fait dans lequel on va venir définir les sections pour en extraire nos nervures.

Ci-dessous voici le code Python pour faire ce travail à partir de la face millimétrique.
J’aurais aimé faire un script à partir de l’import du fichier de points mais je n’ai pas réussi à faire un automatisme pour produire la petite ligne au bord de fuite du profil.
J’ai bien trouvé pour récupérer les extrémités d’une ligne mais pas d’une spline… Dommage.

 

Code Python à copier dans la fenêtre en bas à droite : création du profil d’emplanture, création du profil de saumon, création de l’aile solide pleine

# -*- coding: utf-8 -*-

# Macro Begin: D:\Documents\Sujets\FreeCAD\Aile\De nervure mm a aile.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
import FreeCAD
#import DraftTools
import Draft
import Part

FreeCAD.ActiveDocument.recompute()
Obj_Doc = FreeCAD.getDocument(« Aile_2 »)

#récupération de la face millimétrique et déplacement de 25% de la corde

Obj_Profil = Obj_Doc.getObject(« Face »)
Position_Nerv_Ampl = App.Placement(App.Vector(-0.25,0,0),App.Rotation(App.Vector(0,0,1),0))
Obj_Profil.Placement = Position_Nerv_Ampl

#Création du profil emplanture

Obj_Nervure_amplanture = Draft.clone(Obj_Profil)
Obj_Nervure_amplanture.Label= »Nervure amplanture »
Obj_Nervure_amplanture.Scale = (150.00, 150.00, 1.00)

Obj_Nervure_saumon = Draft.clone(Obj_Nervure_amplanture)
Obj_Nervure_saumon.Label = « Nervure saumon »
FreeCAD.ActiveDocument.recompute()

#Création du profil saumon

Position_Nerv_Saumon = App.Placement(App.Vector(-0.25,0,500),App.Rotation(App.Vector(0,0,1),0))
Obj_Nervure_saumon.Placement = Position_Nerv_Saumon
Obj_Nervure_saumon.Scale = (0.50, 0.50, 1.00)
FreeCAD.ActiveDocument.recompute()

# Création de l’aile solide pleine

#Gui.activateWorkbench(« PartWorkbench »)
from FreeCAD import Base
Obj_loft = Obj_Doc.addObject(‘Part::Loft’,’Loft’)
Obj_loft.Sections=[Obj_Nervure_amplanture, Obj_Nervure_saumon, ] Obj_loft.Solid=True
Obj_loft.Ruled=False
Obj_loft.Closed=False
FreeCAD.ActiveDocument.recompute()

# Macro End: D:\Documents\Sujets\FreeCAD\Aile\De nervure mm a aile.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++

 

 

3.Obtention d’une nervure

Cette aile est pleine et massive. Pour les spécialiste de la mousse, c’est parfait mais pour les anciens comme moi ce n’est pas suffisant… On aime la structure.
Nous allons alors saucissonner tout ça à plusieurs endroits.
L’intersection du solide avec une face plane sera parfait.
Il suffit de créer des surfaces planes et de demander une intersection avec le solide.
On obtient alors un profil (une surface) de la bonne taille selon la position en envergure.
Cette surface peut alors être épaissie avec une extrusion solide.
Cela est très bien mais imaginons qu’il faille faire l’opération 30 fois à la main !
C’est là qu’intervient encore une fois le code Python pour faire le travaille répétitif à notre place.
C’est ici plus intéressant que dans le programme précédent car cela serait vraiment fastidieux.

 

dessiner aile avion sur ordinateur
Les sections de notre aile dessinées qui nous permettront une fois imprimées de construire nos nervures.

Code Python à copier dans la fenêtre en bas à droite : création des nervures d’aile

# -*- coding: utf-8 -*- # Macro Begin: D:\Documents\Sujets\FreeCAD\Aile\nervure.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
import FreeCAD
import DraftTools
import Draft
import Part

FreeCAD.ActiveDocument.recompute()
Obj_Doc = FreeCAD.activeDocument

DemiEnvergure = 500 Nb
Nervure = 10
Pas = DemiEnvergure / NbNervure

# Création des surfaces planes

for Pos in range(0,DemiEnvergure + Pas ,Pas):

print (Pos)
pl = FreeCAD.Placement()
pl.Rotation.Q = (0.0,0.0,0.0,1.0)
pl.Base = FreeCAD.Vector(-50.0,-33.0,0.0)
Plan_coupe = Draft.makeRectangle(length=186.0,height=81.0,placement=pl,face=False,support=None)
Plan_coupe.Placement = App.Placement(App.Vector(-50,-33,Pos),App.Rotation(App.Vector(0,0,1),0)) Plan_coupe.Label = « Rectangle_ »+str(Pos)
App.ActiveDocument.recompute() Obj_aileSolide = FreeCAD.ActiveDocument.getObjectsByLabel(« AileSolide ») #Création des intersection et épaississement pour l’obtention des nervures for Pos in range(0,DemiEnvergure + Pas ,Pas): Obj_clone_aile = Draft.clone(Obj_aileSolide) Obj_clone_aile.Label = « AileSolide_ »+str(Pos) Obj_Plan_coupe =

FreeCAD.ActiveDocument.getObjectsByLabel(« Rectangle_ »+str(Pos)) Obj_aileSol = FreeCAD.ActiveDocument.getObjectsByLabel(« AileSolide_ »+str(Pos)) FreeCAD.ActiveDocument.addObject(« Part::MultiCommon », »Common »+str(Pos)) Obj_intersect = FreeCAD.ActiveDocument.getObject(« Common »+str(Pos)) Obj_intersect.Shapes = [Obj_aileSol[0],Obj_Plan_coupe[0],] Obj_intersect.Label = (« Intersection_ »+str(Pos)) Gui.ActiveDocument.ActiveObject.Visibility = False FreeCAD.ActiveDocument.recompute() Obj_intersection = FreeCAD.ActiveDocument.getObjectsByLabel(« Intersection_ »+str(Pos)) FreeCAD.ActiveDocument.addObject(« Part::Extrusion », »Nervure »+str(Pos)) Obj_Nervure = FreeCAD.ActiveDocument.getObject(« Nervure »+str(Pos)) Obj_Nervure.Base = Obj_intersection[0] Obj_Nervure.Dir = (0,0,2) Obj_Nervure.Solid = (True) Obj_Nervure.TaperAngle = (0) Obj_Nervure.Label = ‘Nervure_pos=’+str(Pos)+ »mm » FreeCAD.ActiveDocument.recompute() # Macro End: D:\Documents\Sujets\FreeCAD\Aile\nervure.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++

Ça mouline un peu et nous voilà avec toutes nos nervures en 3D.

4.Production du plan 2D

Les sections prêtes à être imprimées
Les sections prêtes à être imprimées.

Encore une fois, FreeCAD propose des outils de projection de 3D dans un plan 2D comme les autres logiciels de CAO et ici encore, le script va nous permettre de produire les différentes vues et de les positionner dans le calque.
Ci dessous, le code pour faire le travail tout seul.

 

Code Python à copier dans la fenêtre en bas à droite : mise en plan 2D

# -*- coding: utf-8 -*- # Macro Begin: D:\Documents\Sujets\FreeCAD\Aile\mise en plan.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++ import FreeCAD import Drawing # Paramètres utilisateur PositionX_Initiale = 40 PositionY_Initiale = 70 EcartX_entre_vues=35 EcartY_entre_vues=0 Nombre_Nervure = 11 # Création du Calque App.activeDocument().addObject(‘Drawing::FeaturePage’,’Page’) App.activeDocument().Page.Template = ‘C:/Program Files/FreeCAD 0.16/data/Mod/Drawing/Templates/A3_Landscape_ISO7200.svg’ App.activeDocument().recompute() Gui.activeDocument().getObject(‘Page’).show() # Création des vues for NumVue in range(0,Nombre_Nervure,1): # Ajout d’une vue App.activeDocument().addObject(‘Drawing::FeatureViewPart’,’Vue_’+str(NumVue)) Obj_vue = App.ActiveDocument.getObject(‘Vue_’+str(NumVue)) Obj_ObjetProjete = App.ActiveDocument.getObjectsByLabel(« Nervure_pos= »+str(NumVue*50)+ »mm ») Obj_vue.Source = Obj_ObjetProjete[0] Obj_vue.Direction = (0.000000e+000,0.000000e+000,1.000000e+000) Obj_vue.X = PositionX_Initiale + NumVue*EcartX_entre_vues Obj_vue.Y = PositionY_Initiale + NumVue*EcartY_entre_vues Obj_vue.Scale = 1.000000e+000 Obj_vue.Rotation = 90 App.activeDocument().Page.addObject(Obj_vue) # Ajout d’une annotation Obj_Annotation = App.activeDocument().addObject(‘Drawing::FeatureViewAnnotation’,’Annotation_’+str(NumVue)) Obj_Annotation.X = PositionX_Initiale + NumVue*EcartX_entre_vues + 10.0 Obj_Annotation.Y = PositionY_Initiale + NumVue*EcartY_entre_vues + 100.0 Obj_Annotation.Scale = 7.0 Obj_Annotation.Rotation = 90 Obj_Annotation.Label = « Annotation Nervure pos « +str(NumVue*50)+ »mm » Obj_Annotation.Text = [unicode(« Position « +str(NumVue*50)+ »mm », ‘utf-8’),] App.activeDocument().Page.addObject(Obj_Annotation) # Renseignement du cartouche FreeCAD.activeDocument().getObject(« Page »).EditableTexts = [unicode(‘Vincent’, ‘utf-8’),unicode(‘Nervures Aile RC’, ‘utf-8’),unicode( », ‘utf-8’),unicode( », ‘utf-8’),unicode(‘www.Apprendre-la-CAO.com’, ‘utf-8’),unicode( », ‘utf-8’),unicode( », ‘utf-8’),unicode( », ‘utf-8’),unicode(‘A3’, ‘utf-8’),unicode(‘1 / 1’, ‘utf-8’),unicode(‘Ech 1’, ‘utf-8’),unicode(‘PN’, ‘utf-8’),unicode(‘DN’, ‘utf-8′),unicode(’25/01/2018’, ‘utf-8’),unicode(‘REV A’, ‘utf-8’),] App.ActiveDocument.recompute() # Macro End: D:\Documents\Sujets\FreeCAD\Aile\mise en plan.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++

 

Conclusion

FreeCAD nous offre la possibilité de produire nos propres outils de modélisation afin de produire des 3D comme ici ces éléments de structure d’aile.

Moyennant un peu de temps pour la création des programmes (seul ou en communauté) il est tout à fait envisageable de produire un véritable logiciel de modélisation orienté aéronautique.
Imaginez vous fasse à une interface dans laquelle vous pourriez indiquer l’envergure, le nom des profils, le nombre de nervure, le dièdre, le vrillage, …. et la machine dessine tout !
Et pourquoi pas pointer vers un fichier Excel ? Oui, c’est possible mais c’est une autre histoire.

Pour aller plus loin

FreeCad est un bon logiciel a avoir dans sa boite à outil. Vous avez pu voir dans la vidéo de Vincent au début que rien que pour les imports des fichiers de points des profils NACA & co c’est juste génial. Pour ceux qui s’oriente vers l’aéronautique, vous pouvez vous faire également une petite initiation à la CAO sur Catia, le programme réputé de Dassault System. Ci dessous les liens pour télécharger sont tuto très bien fait de 90 pages !

 

mots clefs : logiciel profil d’aile gratuit ; tracer un profil d’aile ; logiciel conception avion rc ; logiciel conception avion gratuit ; logiciel dessin gratuit

 

 

CAO, maquettes virtuelles, simulateurs, mise au point, pilotage pour sentir les choses … comme vous pouvez le voir, l’aéromodélisme peut être bien plus qu’un loisir.  Si vous voulez en savoir plus, téléchargez le livre que je vous offre : « les 7 secrets pour débuter et bien progresser en aéromodélisme que vous pouvez télécharger ici . Vous recevrez également d’autres informations utiles. Bon vol !

Miniguide pour apprendre à piloter en aéromodélisme

 

Check Also

Réglage du contre-pointeau après démontage complet

Cet article d’ailleurs devrait s’appeler « pré-réglage du contre pointeau » … Il arrive que l’on ait …

4 comments

  1. Bonjour,

    Merci pour cette vidéo de FreeCad.

    Un deuxième objectif personnel est de redessiner entièrement un plan déjà réalisé par la méthode classique sur planche afin de pouvoir alimenter une machine de découpe.

  2. Bonjour,
    très intéressant votre tuto!
    Cepandant, pourquoi n’avez-vous pas essayé d’imprimer l’aile et ses nervures ainsi que le longeron en position verticale?
    Donc pas d’aile massive mais constituée d’une seule pièce où toutes les pièces sont imprimées.
    Dans l’attente de votre réaction,
    bien cordialement,
    Bgeoffroy

    • Bonjour Geoffroy,
      merci pour votre commentaire.
      L’objet du tuto était de dessiner l’enveloppe de l’aile et d’extraire les sections en 2D. Libre à chacun derrière d’exploiter les sections générées et en particulier de se servir de cela pour découper ses sections dans du balsa bien plus léger que du plastique.
      Relisez l’article avec cet angle là, vous verrez que l’impression 3D n’est pas vraiment l’objet de l’article. Vous montez un avion en impression 3D ?
      Cdl

  3. Très bon article. Merci.
    question : comment trouver le profile NACA d’aile d’un avion ?
    Je cherche par exemple le profile du Dynamic WT9.
    Cdl

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Recevez chaque mois les news de l'aéromodélisme ! CLIQUEZ ICI !
Hello. Add your message here.