La syntaxe décrite et le fichier texte dans lequel elle est utilisée sont appelés présentation du traceur ou présentation seulement.
Une présentation standard [présentation] contient une à plusieurs pages [page] de description d'un dessin du traceur.
La description de la page [page] indique uniquement :
Les attributs de la page : le format de papier en millimètres (unité de longueur globale) et les marges déterminent la zone de travail dans une page.
La position, la taille et d'autres attributs des champs rectangulaires appelés fenêtres [vues], où se trouvent les dessins. Les fenêtres peuvent contenir des textes supplémentaires (qui seront traités ci-dessous). Ces textes doivent se trouver près de la bordure d'une vue, et un dessin sera inséré en son centre.
Les tableaux [tableau], organisés en lignes [ligne], composés de cellules [cellule] qui, à leur tour, sont généralement rempli de textes [texte].
Position et attributs de textes [texte]. Le texte à inclure dans un dessin peut être défini sous forme d'une chaîne de caractères simple, délimitée par des guillemets ("..."), ou comme des expressions, répertoriées dans le module de dessin. Les expressions ont leur propre syntaxe. Elles peuvent prendre la forme d'une date, d'un nom de projet, etc. Elles peuvent également être de formes plus complexes, selon le contenu des dessins dans une page, par exemple, l'échelle de dessin dans une vue, le poids/la masse de l'acier d'armature dans une poutre/travée, etc.
Exemple :
L'exemple ci-dessous présente un extrait de présentations réelles disponibles dans le dossier des fichiers de configuration de Robot. Il contient la description d'un dessin de poutre BA.
Les numéros de lignes commençant par ce signe appartiennent au commentaire.
Le numéro de commentaire peut être inséré avec un retrait.
Les numéros de commentaires au début d'un fichier doivent contenir une courte caractéristiques du contenu du fichier.
# ici est un en-tête idéal :
N° de dessin de poutre (chaque travée dans une nouvelle page) :
N° à une seule travée + deux sections + liste des aciers d'armature
N° de tableau (contenant des données standard pour BA) dans la partie inférieure de la page
# (format recommandé - A4)
[PRESENTATION]
[page]
format = 297, 210 n° du format de papier
marges = gauche 7, droite 7, bas 7, haut 7
[vue]
description = @elev # description @elev, utilisé dans les expressions de texte
pos = 3, 97 # coin inférieur gauche : 3 mm depuis la gauche, 97 mm depuis le bas
taille = 213, 95 # taille : 213 x 95 mm
type = "beam/bay" # poutre unique
[vue]
description = @ sec1 # description de la première coupe
pos = 3, 29
taille = 105, 65
type = "beam/bay/section"
[vue]
description = @ sec2 # description de la deuxième section
pos = 111, 29
taille = 105, 65
type = "beam/bay/section"
[vue]
pos = droite 0, haut 0 # coin supérieur droit : 0 mm à droite, 0 mm depuis le haut
taille = 65, 169
type = "beam/bay/steel" # liste des armatures dans une travée de poutre
[tableau]
pos = 0,0
# même si l'utilisateur modifie le format du papier, il doit conserver
# marges de gauche et de droite (ici : zéro) et la hauteur de l'ensemble du tableau
fixe = de gauche à droite, vertical
# en premier lieu, vous devez déterminer la largeur des colonnes du tableau
col = 100
col = 100
col = 83
# maintenant, vous devez décrire chaque ligne
[ligne]
ligne = 4 #, vous devez déterminer la hauteur de ligne
# vous pouvez décrire les cellules dans chaque ligne
[cellule]
colspan = 2 # 2 colonnes sont fusionnées dans cette cellule
[texte]
pos = 3,50% # 3 mm à partir de la gauche et à mi-hauteur
police = hauteur 2 # hauteur de police 2 mm
texte = "Firm"
[texte]
pos = 25%, 50% # à 1/4 de toute la distance à partir de la gauche et à mi-hauteur
police = hauteur 2
texte = "Address"
[texte]
pos = 65%,50%
police = hauteur 2
texte = "Telephone"
[texte]
pos = 82%,50%
police = hauteur 2
texte = "Fax"
[cellule]
rowspan = 2 # 2 colonnes sont fusionnées dans cette cellule
[texte]
pos = 3,top 25% # 3 mm à partir de la gauche et à 1/4 de toute la hauteur depuis le haut
police = hauteur 2
# ci-dessous, vous pouvez voir un exemple d'expression textuelle, où :
# périodes - fonctionnent comme des opérateurs fusionnant plusieurs textes dans un seul
# @elev - objet qui sera nécessaire à l'exécution
# un service (il s'agit d'une description d'une fenêtre dans la page)
# "steel" - premier argument dans la liste
# détermine toujours le type de service (ici : poids de l'acier).
# Le formulaire (inscription/numéro) des arguments suivants dépend
# strictement du type de service.
# NOTE :
# répertoriant la sous-expression @ elev (...) risque de déboucher sur un échec. L'expression entière
# échoue alors et, par conséquent, vous obtenez une chaîne vide, et non
# "Ribbed steel = kg" ou "Ribbed steel = 0kg"
texte = " Ribbed steel = " . @elev("steel","kg","L") . "kg"
[texte]
pos = 50%, haut 25%
police = hauteur 2
texte = "Concrete = " . @elev("concrete","m^3") . "m3"
[texte]
pos = 3, bas 25%
police = hauteur 2
texte = "Plain steel = " . @elev("steel","kg","T") . "kg"
[texte]
pos = 50%, bas 25%
police = hauteur 2
texte = "Formwork = " . @elev("formwork","m^2") . "m2"
[ligne]
ligne = 5
[cellule]
rowspan = 3
[cellule]
rowspan = 3
[texte]
pos = 3, bas 25%
police = hauteur 5
texte = "Section " . @elev("section","cm","x")
[ligne]
ligne = 9
[cellule]
[texte]
pos = 3, haut 25%
police = hauteur 2
texte = "Lower cover " . @elev("cover","cm","B") . "cm"
[texte]
pos = 3, bas 25%
police = hauteur 2
texte = "Lateral cover " . @elev("cover","cm","L") . "cm"
[texte]
pos = droite 25,50%
police = hauteur 5
texte = ""
[ligne]
ligne = 9
[cellule]
[texte]
pos = 3, haut 25%
police = hauteur 2
texte = "Elevation scale " . @elev("scale","m/m","/")
[texte]
pos = 3, bas 25%
police = hauteur 2
texte = "Section scale" . @sec1("scale","m/m","/")
[texte]
pos = droite 25,50%
police = hauteur 4, aspect 0.7
texte = "Page"
[fin]
Remarques finales :
Les mots-clés sont toujours en anglais. La même règle s'applique aux services ("scale", "steel", "section", etc.). Dans les deux cas, le programme ne respecte pas la casse. Il est possible d'utiliser des abréviations dans les mots-clés, par exemple, "Pos" signifie "position".
Chaque page dans une présentation correspond toujours à un format. Cela ne signifie pas qu'une page ne peut être utilisée que pour le format de papier déterminé. Le module de dessin agrandira/réduira une page de présentation en fonction de la configuration actuelle du périphérique d'impression (imprimante/traceur). En revanche, si vous créez une présentation qui sera utilisée pour différents formats de papier, il est recommandé de la définir pour le plus petit format possible.
Une présentation a une structure hiérarchique, basée sur la dépendance parent-enfant/enfants. La position et la taille d'un élément enfant est toujours exprimée par rapport à son élément parent. Le positionnement standard d'un enfant (bord gauche inférieur d'un enfant) est effectué par rapport au côté gauche de la page et à la base de son parent, sauf si la commande correspondante indique autre chose, par exemple, 'pos = droite 3, 50%'. Lors de la détermination de la position et de la taille d'un enfant, vous pouvez utiliser des valeurs absolues (interprétées en millimètres) ou des pourcentages de la taille du parent dans la direction appropriée (la sélection de l'une de ces méthodes est significative en cas de modification du format de papier).
Les objets peuvent être divisés selon qu'ils ont des dimensions (représentées par des formes rectangulaires) ou non (à l'heure actuelle, il n'en existe qu'un seul : texte). Ils peuvent être appelés, pour faire court, objets unidimensionnels et objets bidimensionnels. Dans le cas de parents possédant deux types d'objets enfant, vous devez d'abord spécifier les enfants sans dimension avant de pouvoir répertorier les objets spatiaux.
[page], [aire] et [cellule] peuvent contenir les deux types d'objets, tandis que [vue] ne peut contenir que des objets unidimensionnels. Naturellement, les cellules [cellule] appartiennent exclusivement aux lignes du tableau, tandis que les pages [Page] - appartiennent exclusivement à une présentation [présentation].
Les attributs (position, taille, etc.) sont attribués à l'objet par le biais des commandes appropriées écrites directement après le mot-clé (entre crochets […]) - ouverture de la définition d'un objet.
Un tableau [tableau] peut être affecté à l'attribut d'orientation. Cette définition s'effectue à l'aide de la commande : orientation =... ". Dans la configuration standard, les tableaux "sont prédéfinis", c'est-à-dire que le programme accepte la commande par défaut 'orientation = haut'. Si vous souhaitez, par exemple, insérer un tableau le long du bord droit de la page, vous devez écrire 'orientation = gauche'.
L'exemple ci-dessus n'illustre pas les possibilités de définition des aires [aire]. Une aire possède les attributs de position et de taille. Elle permet d'organiser les objets dans un dessin. Cela peut avoir des conséquences pour la modification des formats de page, mais uniquement dans le cas où une présentation contient des formules: 'bloqué =... ". Les aires peuvent être utilisées dans des cas exceptionnels. Elles sont, bien entendu, invisibles dans les dessins projetés.
La syntaxe présentée est relativement exempte de bogues. Mais soyez particulièrement attentif au fait que la description d'un tableau [tableau] ou d'une aire [aire] se termine toujours par [fin].
Il n'est pas nécessaire de spécifier les cellules de tableau vides si elles interviennent à la fin d'une ligne décrite et si leur taille est égale à 1x1.
La police du texte dans les cellules de table soit conforme à la description suivantes: 'police = hauteur 3, Aligner à gauche au milieu de l'angle 0'. La position de la police standard est définie par 'pos = 3, 50%'.
Types de dessins
On suppose que les présentations du traceur ne doivent pas contenir d'informations détaillées concernant le contenu des dessins dans les fenêtres. Si elles contiennent ces informations, elles doivent être réduites et transparentes pour le module de dessin qui n'utilisera jamais ce type d'informations. Ces informations sont souvent introduites au format de la commande 'type = …' adressée à une fenêtre. Les informations sont utilisées par les modules Robot clients du module de dessin et l'activent avec un fichier de commandes. Les modules peuvent lire une présentation et, grâce à l'information de 'type', peuvent déterminer les exigences de l'auteur de la présentation. Après la lecture d'une présentation, les modules Robot peuvent la modifier, généralement en ajoutant plusieurs pages. Cela explique pourquoi l'exemple de présentation ci-dessus produit deux pages pour une poutre à deux travées, bien que la présentation contienne la description d'une page seulement.
Types de dessins dans les modules BA
"beam" |
poutre entière dans une élévation |
"beam/bay" |
poutre à une travée |
"beam/bay/section" |
profilé de travée de poutre |
"beam/steel" |
liste d'acier de l'intégralité de la poutre |
"beam/bay/steel" |
liste d'acier d'une travée |
"column" |
poteau dans une élévation |
"column/section" |
section de poteau |
"column/steel" |
liste des armatures de poteaux |