A propos des formes dans les types de ligne personnalisés

Un type de ligne complexe peut contenir des formes imbriquées enregistrées dans des fichiers formes. Les types de ligne complexes peuvent servir à indiquer des utilitaires, des contours, etc.

Comme pour les types de ligne simples, les lignes complexes sont dessinées à mesure que l'utilisateur en indique les sommets. Les formes et les objets texte incorporés dans des lignes sont toujours affichés en entier, ils ne sont jamais ajustés.

Les descripteurs de motif de type de ligne comportant des objets de forme sont similaires à ceux des types de ligne simples.

La syntaxe des descripteurs d'objet forme dans une description de type de ligne est la suivante :

[shape_name,shape_filename] or [shape_name,shape_filename,transform]

transformation est facultatif et peut représenter une série des éléments suivants (chacun précédé d'une virgule) :

R=## Rotation relative

A=## Rotation absolue

U=## Rotation droite

S=## Echelle

X=## X, décalage

Y=## Y, décalage

Dans cette syntaxe, ## est un nombre décimal signé (1, –17, 0.01, etc.), la rotation est exprimée en degrés et les autres options sont indiquées en unités de dessin ajustées au type de ligne. Les lettres de transformation qui précèdent éventuellement doivent être suivies du signe égal et d'un nombre.

La définition de type de ligne suivante spécifie un type de ligne nommé CON1LIGNE composé d'un motif répétitif d'un segment de ligne, d'un espace et de la forme imbriquée CON1 du fichier ep.shx. (L'exemple suivant ne peut fonctionner que si le fichier ep.shx appartient au chemin de support.)

*CON1LINE, --- [CON1] --- [CON1] --- [CON1]
A,1.0,-0.25,[CON1,ep.shx],-1.0

A l'exception du code entre crochets, l'ensemble de la syntaxe est conforme à la définition d'un type de ligne simple.

Comme décrit précédemment, six champs permettent de définir une forme dans un type de ligne. Les deux premiers sont obligatoires et doivent occuper une position précise tandis que les quatre suivants sont facultatifs et peuvent être ordonnés arbitrairement. Les deux exemples suivants illustrent différentes entrées du champ de définition des formes.

[CAP,ep.shx,S=2,R=10,X=0.5]

Le code ci-dessus dessine la forme CAP définie dans le fichier formes ep.shx en appliquant : (1) une échelle qui est le double de celle de l'unité du type de ligne, (2) une rotation tangentielle de 10 degrés dans le sens trigonométrique et (3) un décalage X de 0.5 unité de dessin avant élaboration de la forme.

[DIP8,pd.shx,X=0.5,Y=1,R=0,S=1]

Le code ci-dessus dessine la forme DIP8 définie dans le fichier formes pd.shx en appliquant : (1) un décalage X de 0.5 unité de dessin avant élaboration de la forme, (2) un décalage Y d'une unité de dessin au-dessus du type de ligne, (3) une rotation égale à 0 et (4) une échelle équivalente à celle de l'unité du type de ligne.

Format des descripteurs de caractère

Le format utilisé pour ajouter une forme dans une description de type de ligne se présente comme suit :

[shape_name,shape_filename,scale,rotate,xoffset,yoffset]

Les valeurs de mise à l'échelle, de rotation, de décalage X et de décalage Y doivent être exprimées sous forme de décimales accompagnées d'un signe, par exemple 1, -17 et 0.01.

Nom de la forme

Nom de la forme à dessiner. Ce champ est obligatoire. S'il est omis, la définition du type de ligne échoue. Si shape_name n'existe pas dans le fichier formes spécifié, le type de ligne est chargé et peut être utilisé sans la forme imbriquée.

Nom de fichier formes

Nom d'un fichier de définition de formes compilé (SHX). S'il est omis, la définition du type de ligne échoue. Si shape_filename est incomplet (aucun chemin n'est spécifié), les chemins de support du programme sont recherchés pour le fichier. Si shape_filename est complet mais introuvable à l'emplacement indiqué, il est supprimé et les chemins de support du programme sont recherchés pour le fichier. Si le fichier est introuvable, le type de ligne est chargé et peut être utilisé sans la forme imbriquée.

Echelle.

Facteur d'échelle à utiliser pour la forme par laquelle l'échelle de la forme définie de manière interne est multipliée. Le facteur d'échelle fourni doit posséder le préfixe S=, par exemple S=0..5 indique un facteur d'échelle égal à 0,5. Si l'échelle de la forme définie de manière interne est égale à 0, S= valeur est utilisé comme échelle.

Rotation

Angle de rotation de la forme à afficher dans le type de ligne. L'angle de rotation doit posséder le préfixe U=, R=ou A=.

  • U= indique du texte droit ou lisible.
  • R= indique la rotation relative ou tangentielle par rapport à la ligne.
  • A= indique la rotation absolue du texte par rapport à l'origine : tout le texte subit la même rotation, peu importe sa position par rapport à la ligne.
Remarque : Pour mettre à jour vers la dernière version de définition de type de ligne les dessins contenant des types de ligne hérités qui n'utilisent pas l'indicateur de rotation U (droit), rechargez le type de ligne dans les fichiers LIN. Les types de ligne personnalisés peuvent être mis à jour en remplaçant l'indicateur R (rotation) par l'indicateur U (droit) avant le rechargement d'une définition de type de ligne.
Décalage X

Décalage de la forme sur l'axe X du type de ligne calculé à partir de l'extrémité du sommet de définition de type de ligne. Le décalage indiqué doit posséder le préfixe X=, par exemple X=0..1 indique un décalage de 0,1. Si un décalage est omis ou est égal à 0, la forme est tracée sans décalage. Incluez ce champ pour obtenir une ligne continue avec des formes. Cette valeur n'est pas mise à l'échelle en fonction du facteur défini par S=valeur.

Décalage Y

Décalage de la forme sur l'axe Y du type de ligne calculé à partir de l'extrémité du sommet de définition de type de ligne. Le décalage indiqué doit posséder le préfixe Y=, par exemple Y=0..1 indique un décalage de 0,1. Si un décalage est omis ou est égal à 0, la forme est tracée sans décalage. Incluez ce champ pour obtenir une ligne continue avec des formes. Cette valeur n'est pas mise à l'échelle en fonction du facteur défini par S=valeur.