Personnalisation des rapports de calcul (technologie TRDF)

HullCAO 5.0 Online help - Eric COLLARD
 
Niveau de difficulté     1   2   3 

Généralités

HullCAO 5 permet à l'utilisateur de définir avec beaucoup de latitude le contenu et l'apparence des rapports de calcul imprimables. Cette personnalisation se fait par l'intermédiaire de fichiers modèles de rapport (Tagged Report Description Files).

HullCAO est livré en standard avec un fichier modèle standard pour chaque type de rapport. Ces fichiers sont présent dans le répertoire de HullCAO et portent les noms:

  • "ReportTemplateStatic.txt" pour les calculs au repos
  • "ReportTemplateRoulis.txt" pour les calculs en roulis
  • "ReportTemplateTangage.txt" pour les calculs en tangage
  • "ReportTemplatePilonnement.txt" pour les calculs en pilonnement

Ces modèle doivent être présent dans le même répertoire que le programme HullCAO.exe, et leur nom ne doit pas être modifié.

Contenu des modèles de rapport

Les modèle de rapport permettent de construire un rapport contenant :

  • du texte
  • des valeurs résultats de calcul
  • des tableaux de résultats de calcul
  • des graphiques présentant des résultats de calcul

Ces modèles sont des fichiers texte décrivant le contenu de chaque rapport. en voici un exemple :

<GRAPH\BEGIN\0.5\1.0>
<GRAPH\ITEM\ROULIS\GZT\0.0\1.0\0.0\0.5\Rappel hydrostatique en roulis>
<GRAPH\ITEM\ROULIS\CBX\0.0\0.5\0.5\1.0\Evolution du centre de carène>
<GRAPH\ITEM\ROULIS\WETSURF\0.5\1.0\0.5\1.0\Evolution de la surface mouillée>
<GRAPH\END>

<STYLE\BOLD>Système d'unité en vigueur : Distance : <VAR\UNIT1\STR> , Masse : <VAR\UNITW\STR>

<STYLE\BOLD> Résultats de Stabilité :
Angle de chavirement statique : <VAR\THETAS\DEC> degrés
Stabilité maxi : bras de levier du rappel transversal de <VAR\GZMAX\DEC> <VAR\UNIT1\STR>
Angle de stabilité maxi (dit 'angle limite de stabilité statique') : <VAR\THETA0\DEC> degrés

<STYLE\BOLD> Tableau des résultats :


Légende des abréviations
ROULIS : Angle de roulis en degrés
GZT : Bras de levier du rappel hydrostatique transversal en <VAR\UNIT1\STR>
HZT : Hauteur métacentrique transversale en <VAR\UNIT1\STR>
VOLUME: Valeur du déplacement (correspondant au volume immergé) en <VAR\UNITW\STR>
WETSURF : Surface mouillée en <VAR\UNIT2\STR>
CBX: Position longitudinale du centre de carène (dans le repère absolu de la carène) en <VAR\UNIT1\STR>
CBZ: Position verticale du centre de carène (dans le repère absolu de la carène) en <VAR\UNIT1\STR>
LATSURF: Surface latérale anti-dérive en <VAR\UNIT2\STR>
LATCGX: Position longitudinale du centre de surface anti-dérive en <VAR\UNIT1\STR>
LATCGZ: Position verticale du centre de surface anti-dérive en <VAR\UNIT1\STR>
PILON : Valeur du pilonnement (enfoncement / lignes de conception) en <VAR\UNIT1\STR>
TANGAGE : angle du tangage en degrés

<TABLE\11\ROULIS\GZT\HZT\VOLUME\CBX\CBZ\LATSURF\LATCGX\LATCGZ\PILON\TANGAGE>

<STYLE\BOLD>Conditions de calcul :
Analyse entre l'angle <VAR\POS1\DEC> degrés et l'angle <VAR\POS2\DEC> degrés
Analyse de <VAR\NBPOS\INT> angles
Masse du navire : <VAR\MASSE\DEC> <VAR\UNITW\STR>
Position verticale du centre de gravité : Z = <VAR\CGZ\DEC>
Position longitudinale du centre de gravité : X = <VAR\CGX\DEC>
<CONDITION\FREEPILON\DIF\0>Analyse en pilonnement libre
<CONDITION\FREEPILON\DIF\0>Précision à atteindre sur le déplacement : <VAR\ACCURP\DEC> % de la masse
<CONDITION\FREEPILON\EQU\0>Valeur de pilonnement imposée : <VAR\PILON\DEC> <VAR\UNIT1\STR>
<CONDITION\FREETANG\DIF\0>Analyse en tangage libre
<CONDITION\FREETANG\DIF\0>Précision à atteindre (écart Bx/Gx) : <VAR\ACCURB\DEC> % de la longueur
<CONDITION\FREETANG\EQU\0>Valeur de tangage imposée : <VAR\TANGAGE\DEC> degrés

Comme vous pouvez le constater, la description du rapport utilise un langage dont la sémentique est assez simple, et basée sur des mots clé définis comme des TAG XML (entre < et >). Pourle reste, le texte est copié tel quel dans le rapport. HullCAO respecte aussi les retour à la ligne te les espaces positionnés dans le modèle.

Sémentique du langage "Tagged Report Description File "

Nom du TAG Syntaxe Commentaire Exemple
VAR <VAR\NomVariable\TypeVariable>

Insertion d'un résultat de calcul sous forme de valeur isolée. NomVariable est le nom abrégé de la variable à insérer (la liste des abréviations est donnée dans la rubrique "résultats de calculs" pour chaque type de calcul) prise dans les variables générales ou les conditions de calcul. TypeVariable décrit le type de variable à afficher et peut prendre 2 valeurs : DEC pour un nombre décimal, STR pour une chaine de caractères, INT pour un nombre entier.

En plus des variables disponibles sous forme de résultats de calcul, 4 variables permettent d'appeler les unités : UNITW pour les masses, UNIT1 pour les distances, UNIT2 pour les surfaces, UNIT3 pour les volumes.

<VAR\POS1\DEC>
STYLE

<STYLE\NomStyle>
pour les styles simples

<STYLE\COLOR\Composante Rouge
\
Composante Verte\Composante Bleue
>
pour le style COLOR

Placé en début de ligne, permet d'attribuer un style particulier au texte qui suit dans le ligne. Les valeurs possibles pour NomStyle sont :

  • BOLD : gras
  • ITALIC : Italique
  • UNDERLINED : Souligné
  • T1 : Taille normale (par défaut)
  • T2 : Taille supérieure
  • T3 : Taille maximale
  • COLOR : couleur spécifique (les composantes sont des nombres compris entre 0 et 255 inclus).
Il est possible de cumuler les styles en faisant suivre plusieurs instructions style.
<STYLE\BOLD><STYLE\ITALIC>
<STYLE\COLOR\255\0\0>
CONDITION <CONDITION\NomVariable\
Opérateur conditionnel
\Valeur>

Placé en début de ligne, permet de n'afficher la ligne correspondante que si la condition est satisfaite.

NomVariable est le nom abrégé de la variable comme pour l'instruction VAR. Opérateur conditionnel peut prendre les valeurs suivantes : INF Signifiant "Inférieur à", SUP Signifiant "Supérieur à", EQU Signifiant "Egal à", DIF Signifiant "Différent de". Valeur est obligatoirement une valeur numérique fixe.

<CONDITION\FREETANG\EQU\0>
TABLE <TABLE\NbVariables\NomVariable1 \NomVariable2\NomVariable3\....>

Insère une table de valeurs pour un rapport de calcul contenant des variables disponibles à chaque position d'analyse pour un calcul multi-position. NbVariables est le nombre de variable à afficher dans le tableau.

Cette instruction n'est pas utilisable pour le rapport de calcul au repos.

<TABLE\11\ROULIS\GZT\HZT\
VOLUME\CBX\CBZ\LATSURF\
LATCGX\LATCGZ\PILON\TANGAGE>
GRAPH

<GRAPH\BEGIN\TH\VH>
<GRAPH\ITEM
\VarNameX\
VarNameY\SX\EX\SY\EY\Titre
>
<GRAPH\END
>

Insère un groupe de graphiques dans une portion de page de rapport.Cette instruction n'est pas utilisable pour le rapport de calcul au repos.

Le groupe de graphique contient autant de graphique qu"il y a d'instruction GRAPH\ITEM entre les instructions GRAPH\BEGIN et GRAPH\END, qui sont obligatoires.

TH représente la portion horizontale de page occupée par le groupe de graphique. La valeur 1.0 correspond à toute la largeur de la page; 0.5 à la moitié.
VH représente la portion verticale de page occupée par le groupe de graphique. La valeur 1.0 correspond à toute la hauteur de la page; 0.5 à la moitié.

VarNameX est la variable utilisée en abscisse du graphique. Elle doit être prise parmi les variables disponibles à chaque position d'analyse dans les calculs multi-position.
VarNameY est la variable utilisée en ordonnée du graphique. Elle doit être prise parmi les variables disponibles à chaque position d'analyse dans les calculs multi-position.

SX,SY représentent les coordonnées du coin haut/gauche du graphique dans le groupe de graphique. Les valeurs possibles vont de 0.0 à 1.0
EX,EY représentent les coordonnées du coin bas/droite du graphique dans le groupe de graphique. Les valeurs possibles vont de 0.0 à 1.0

<GRAPH\BEGIN\0.5\1.0>
<GRAPH\ITEM\ROULIS\GZT\
0.0\1.0\0.0\0.5\Rappel
hydrostatique en roulis>
<GRAPH\ITEM\ROULIS\CBX\
0.0\0.5\0.5\1.0\Evolution
du centre de carène>
<GRAPH\ITEM\ROULIS\WETSURF\
0.5\1.0\0.5\1.0\Evolution
de la surface mouillée>
<GRAPH\END>