Ce programme date de 2011 lorsque j'avais déjà en tête des envies de CNC. Ici une rapide vidéo de présentation.
Il a pour objectif la création d'un logiciel de génération de profile en pour :
- Impression 3D.
- Dessin sur table traçante.
- Découpe laser.
J'avais alors écris deux programmes :
- Le premier était une petite machine virtuelle orienté dessin permettant d'assouvir les besoin de code l'époque.
- Un interpréteur de langage type Basic/Logo
- Variables
- Boucles For
- Tests conditionnel
- Branchement sur labels
- Sub routine
- Label.
- Instructions de dessin, lignes, rectangle, déplacement de curseur graphique.
- Instruction de calculs ADD,SUB,MUL DIV.
- Changement de langage à la volée.
- Avoir une sortie graphique avec un "outil " pilotable en vitesse, position absolue, relative.
- Simuler un processeur virtuel 16 bits
- Afficher l'état du processeur virtuel visuellement
- Créer un langage assembleur intermédiaire.
- Pouvoir exécuter le programme en mode interprété
- Pouvoir exécuter le programme en mode binaire.
- Disposer d'un Pas à pas pour debugger les programmes.
- Créer un format binaire permettant de gagner en vitesse d'exécution.
- Un interpréteur de langage type Basic/Logo
De plus amples détails sont disponibles sur ce programme ICI
- Le deuxième, un outil permettant de générer des instructions plus intéressante qu'un rectangle, un carré ou une maison.
C'est donc ce deuxième programme que je vais présenter dans cet article.
Profiler est un outil à la croisée de deux de mes passions : le modélisme et l'informatique.
Durant ma jeunesse, j'ai eu l'occasion de jouer avec des abaques de profils d'ailes, il s'agit de tableaux contenant les coordonnées d'un profil pour
l'intrados et l'extrados a reporter sur une abscisse le tout normé (valeur comprise entre 0 et 1).
Chaque valeur étant à multiplier par la corde désirée, puis a reporter sur le dessin finale taille réelle.
Autant dire qu'il s'agit là d'un travail assez fastidieux pouvant allégrement occuper des après-midi entiers.
Une activité aussi sexy que ça:
Il n'en fallait pas plus pour réveiller l'informaticien fainéant qui sommeille en moi pour en faire un programme.
L’idée de ce programme est de piocher dans une base de données de profils et d’entrer les quelques paramètres qui permettront de générer toutes les nervures à dessiner.
Il est possible de paramétrer la génération selon différents critères :
- Corde à l'emplanture
- Corde au bord marginal
- Nombre de nervures à interpoler.
- Offset entre les nervures.
- Fleche
- Facteur d'épaisseur
- Dièdre en bout d'aile
A partir de ces paramètres en entrée, les interpolations sont faite pour vous, il ne reste plus qu'a exploiter les sorties.
Le tout est envoyé en GCODE ou en langage de mon premier programme, qui par le plus grand des hasards est un très proche cousin du GCODE avec l’aspect instructions de contrôle en plus.
Il ne m’a fallu que quelques minutes pour réaliser l’adaptation vers le GCODE.
Affichage du profil en cours de consultation :
Quelques paramètres
La génération
Les profiles affichés sont interpolés en fonction du nombre de nervures demandées entre les cordes paramétrées.
Les normales sont calculées pour chaque milieu de segment ainsi que pour chaque sommet.
Ces normales servent comme direction lorsque le profil doit être spiralé pour rigidifier la structure.
Il est possible de faire imprimer des renforts internes à la nervure afin de la rendre plus rigide.
Le tout est envoyé à l'imprimante pour qu'elle digère les instructions.Vidéo Youtube
L'impression avec stylo de la structure extérieur de l'aile en fonction des paramètres
Impression d'un morceau d'aile droite, sans structure et sans renforts.
Ci-dessus et dessous, une aile avec de la flêche arrière et du dièdre.