Section_F: Polygone, profils usuels I L T U Z

Description

Bonjour,

Complétons les constructions paramétrées par quelques profils usuels.

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).

A chaque construction paramétrée correspond un schéma qui donne la signification des paramètres (voir fichiers *.jpg du Zip).
Ces schémas se trouvent également sur un page A4 Word: Polygone.docx.

Voici les codes pour les profiles I, L, T, U, et Z ajoutés:
struct Polygone {
  // ...
  void PoutrelleI(double IB,double IH,double Ib,double Ih,double Ip) {
    double h=IH/2-Ih; // Ip=pente de la "semelle" en % (Ip=0: semelle plate)
    Clear(); Append(new Segment(Ib/2,h-(IB-2*Ib)*Ip/400));
    Append(new Segment(IB/2,h+IB*Ip/400)); Append(new Segment(IB/2,IH/2));
    SymetrieY(); SymetrieX();
  }
  void ProfilL(double LB,double LH,double Lb,double Lh) {
    Clear(); Append(new Segment(0,0)); Append(new Segment(LB,0));
    Append(new Segment(LB,Lh)); Append(new Segment(Lb,Lh));
    Append(new Segment(Lb,LH)); Append(new Segment(0,LH));
  }
  void ProfilT(double TB,double TH,double Tb,double Th) {
    Clear(); Append(new Segment(Tb/2,0)); Append(new Segment(Tb/2,TH-Th));
    Append(new Segment(TB/2,TH-Th)); Append(new Segment(TB/2,TH)); SymetrieY();
  }
  void ProfilU(double UB,double UH,double Ub,double Uh,double Up) {
    double H=UH/2,h=H-Uh;
    Clear(); Append(new Segment(Ub,h-(UB/2-Ub)*Up/100));
    Append(new Segment(UB,h+UB*Up/200)); Append(new Segment(UB,H));
    Append(new Segment(0,H)); SymetrieX();
  }
  void ProfilZ(double ZB0,double ZB1,double ZH,double Zb,double Zh0,double Zh1) {
    Clear(); Append(new Segment(0,0)); Append(new Segment(ZB0,0));
    Append(new Segment(ZB0,Zh0)); Append(new Segment(Zb,Zh0));
    Append(new Segment(Zb,ZH)); Append(new Segment(Zb-ZB1,ZH));
    Append(new Segment(Zb-ZB1,ZH-Zh1)); Append(new Segment(0,ZH-Zh1));
  }
};

 

Tests

Cotes: mm; Ip,Up: %

IPN 100
_IB 50
_IH 100
_Ib 4.5
_Ih 6.8
_Ip 14

Profilé L
_LB 100
_LH 50
_Lb 16
_Lh 10

Profilé T
_TB 100
_TH 50
_Tb 16
_Th 10

UPN 100
_UB 50
_UH 100
_Ub 6
_Uh 8.5
_Up 8

Profilé Z
_ZB0 40
_ZB1 60
_ZH 100
_Zb 8
_Zh0 10
_Zh1 6

‥ Copier l'ensemble des cotes ci-dessus dans PolyEdit.
‥ Eventuellement, adapter certaines valeurs.
‥ Activer ces paramètres: ► Activer params.
‥ Construire un profil: ► {Construction}:
      ► Poutrelle I [IB,IH,Ib,Ih,Ip]
      ► Profilé L [LB,LH,Lb,Lh]
      ► Profilé T [TB,TH,Tb,Th]
      ► Profilé U [UB,UH,Ub,Uh,Up]
      ► Profilé Z [ZB0,ZB1,ZH,Zb,Zh0,Zh1]

‥ Refaire la mise en page: ► Voir tout.
‥ Calculer les caractéristiques: ► Calculer.
‥ …

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

Evolution envisageable du logiciel

‥ Calcul du produit d'inertie Ixy.
‥ Affichage en fonction des axes principaux (selon Ixy).
‥ Introduction d'arrondis.
‥ Adapter le titre de la fenêtre "WinEdit" selon son contenu.
‥ Ajouter des profils creux.
‥ 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 d'y suivre les étapes suivantes:
► New Projet
► Visual C++ ► General ► Empty Projet
a) Donner le nom du projet.
b) 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.
 
 
Bonne lecture ...
 

Liens

WikipédiA: Poutrelle (construction métallique)
SWT: Fers U normaux européens
CodeS-SourceS:
Section_A: Polygone (caractéristiques géométriques)
Section_B: Polygone en cycle de segments
Section_C: Polygone avec symétries
Section_D: Polygone, opérations paramétrées
Section_E: Polygone, constructions 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.