Section_E: Polygone, constructions paramétrées

Description

Bonjour,

Nous arrivons ici au niveau d'un logiciel de calcul de sections tout-à-fait "honnête" et comparable à bien des programmes "payants".

Les constructions paramétrées permettent de créer facilement des familles entières de profils "standards".

La gestion des paramètres est la même que pour les "opérations paramétrées" (voir lien ci-dessous):
Chaque construction (qui nécessite des paramètres) figure dans le menu sous {Constructions} et indique entre crochets ... [...] les noms des paramètres utilisés.
Ces arguments sont alors affichés dans la fenêtre PolyEdit.
Si l'un ou l'autre de ces paramètres n'est pas (encore) défini, la valeur nan (Not-a-Number) nous invite à la remplacer par une valeur réelle (puis de réactiver ces paramètres).

En plus, à chaque construction paramétrée correspond un schéma qui explique la signification des paramètres (voir fichiers *.jpg du Zip).

Pour le moment, j'ai codé les trois "profils" paramétrables suivants:
- Rectangle (RB,RH)
- PolygoneRegulier (PRr,PRn)
- PoutrelleI (IB,IH,Ib,Ih,Ip)
struct Polygone {
  //
  // ...
  //
  void Rectangle(double dx,double dy) {
    Clear();
    Append(new Segment(0,0)); Append(new Segment(dx,0));
    Append(new Segment(dx,dy)); Append(new Segment(0,dy));
  }
  void PolygoneRegulier(double r,int n) { // n >= 3
    Clear();
    double x=r,y=0,da=6.2831853071795865/n,c=cos(da),s=sin(da),xx;
    Append(new Segment(x,y));
    for (int i=1; i<n; i++)
      {xx=x; x=x*c-y*s; y=xx*s+y*c; Append(new Segment(x,y));}
  }
  void PoutrelleI(double IB,double IH,double Ib,double Ih,double Ip) {
    Clear();
    double h=IH/2-Ih; // Ip=pente de la "semelle" en % (Ip=0: semelle plate)
    Append(new Segment(Ib/2,h-(IB/2-Ib)*Ip/200)); Append(new Segment(IB/2,h+IB*Ip/400));
    Append(new Segment(IB/2,IH/2)); SymetrieY(); SymetrieX();
  }
};
Remarquez la "simplicité" de la fonction PoutrelleI
 
 

Poutrelle I

Voici les paramètres de quelques poutrelles tirés du fichier Profils IPN.txt et correspondant à IPN.pdf:
Cotes en mm (Ip en %):

_IB 50
_IH 100
_Ib 4.5
_Ih 6.8
_Ip 14

_IB 90
_IH 200
_Ib 7.5
_Ih 11.3
_Ip 14

_IB 155
_IH 400
_Ib 14.4
_Ih 21.6
_Ip 14

_IB 215
_IH 600
_Ib 21.6
_Ih 32.4
_Ip 14

- Placer un groupe de 5 lignes dans PolyEdit.
- Activer ces paramètres: ► Activer params.
- Construire le profil: ► {Construction} ► Poutrelle I [IB,IH,Ib,Ih,Ip].
- Refaire la mise en page: ► Voir tout.
- Calculer les caractéristiques: ► Calculer.
- Comparer les résultats.
- ...

Pour lister tous les paramètres déjà définis (et donc actifs): ► Lister params.
 
 

Evolution envisageable du logiciel

- Ajouter d'autres familles de profils: U L T ...
- Adapter le titre de la fenêtre "WinEdit" selon son contenu.
- Ajouter des profils creux.
- Calcul du produit d'inertie Ixy.
- Affichage en fonction des axes principaux (selon Ixy).
- Introduction d'arrondis.
- Modification interactive de points sur le graphique.
- Sections composées (plusieurs parties et trous).
- ...
 
 
Edition et compilation des fichiers sources:
J'utilise la version gratuite de MS Visual Studio Express, car il suffit de réaliser les étapes suivantes:
► New Projet
► Visual C++ ► General ► Empty Projet
- Donner le nom du projet.
- Ajouter le fichier Polygone.cpp dans Sources Files.

Les fichiers d'entête *.h et les autres fichiers tels que Menu.cpp etc ..., n'ont pas besoin d'être ajoutés dans la solution.
Mais pour pouvoir les "travailler", on peut simplement les glisser dans la fenêtre principale de MS VSExpress.
(Voir VisualStudioExpress.jpg dans le Zip)
 
 
Bonne lecture ...
 

Liens

WikipédiA: Poutrelle (construction métallique)
CodeS-SourceS: Section_A: Polygone (caractéristiques géométriques)
CodeS-SourceS: Section_B: Polygone en cycle de segments
CodeS-SourceS: Section_C: Polygone avec symétries
CodeS-SourceS: Section_D: Polygone, opérations paramétrées
 

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.