Mots-clés de comparaison
Les descriptions de mot-clé suivantes incluent une brève description de la fonction du mot-clé, les types d'éléments que le mot-clé affecte (le cas échéant), les types de données admises (le cas échéant) ainsi qu'un exemple d'utilisation du mot-clé.
angle
Le mot-clé angle précise l'angle de types d'éléments cellule, nœud de texte, ellipse, arc et texte. Pour les autres types d'élément, la valeur d'angle est 0,0.
Type de données : nombre réel de la plage 0.0 à 360.0
Exemple :
! ! Modifiez la couleur des éléments de texte ! ayant pivoté de 90 degrés. ! if ((type == text) and (angle == 90.0)) then color = 2 endif
area_fill
Le mot-clé area_fill vérifie si l'élément actuel est rempli.
Type de données : constante (true ou false)
Exemple :
! ! Changer la couleur de remplissage de tous les éléments remplis. ! Ne modifiez pas les éléments qui ne sont pas remplis. ! if (area_fill == true) then fill_color = 10 endif
cellname
Le mot-clé cellname indique le nom de la cellule si l'élément actuel est un en-tête de cellule ou un composant d'une cellule. Pour les composants imbriqués dans une ou plusieurs cellules, le mot-clé cellname indique le nom de la cellule la plus à l'extérieur, hormis si le composant est un en-tête de cellule imbriquée. Dans ce cas, le mot-clé cellname est le nom de la cellule imbriquée. Si l'élément actuel n'est ni un en-tête de cellule ni un composant d'une cellule, la valeur de cellname est "NO_CELL". On peut se servir des caractères spéciaux dans les comparaisons d'égalité ou inégalité de chaînes.
Type de données : chaîne
Exemple :
! ! Modifiez la couleur de tous les composants de la cellule ! nommée "border ». ! if (cellname == "border") then color = (200,200,200) endif
characters
Le mot-clé characters désigne la chaîne contenue dans l'élément si l'élément actuel est un élément de texte. On peut se servir des caractères spéciaux dans les comparaisons d'égalité ou inégalité de chaînes.
Type de données : chaîne
Exemple 1 :
! !Mettez en surbrillance toutes les chaînes de texte qui contiennent la chaîne !'School' or 'Hospital'. ! if ((type == text) and (characters =='*School*')) then color = (0,0,255) else if ((type == text) and (characters =='*Hospital*')) then color = (255,0,0) endif
Exemple 2 :
! !Supprime le texte "preliminary" s'il apparaît dans le fichier !"border". ! if ((lname=="border") and (characters=="preliminary")) then ignore_element=true endif
classe
Le mot-clé class indique le type de classe de l'élément actuel. La classe de l'élément actuel peut par exemple être utilisée dans un script de conception pour déterminer si l'élément actuel fait partie d'une cote ou d'un motif.
Type de données : entier de la plage 0 à 6, ou l'une des constantes suivantes :
0 principal |
1 composant_modèle |
2 construction |
3 dimension |
4 règle_principale |
5 modèle_linéaire |
6 règle_construction |
Exemple :
! !Ne tracez pas les éléments des classes pattern et dimension. if ((class == pattern_component) ou (class == dimension)) then ignore_element = true endif
cls_end_width
Le mot-clé cls_end_width teste la largeur de fin, en unités du fichier de conception principal, du style de trait personnalisé associé à l'élément actuel. Si l'élément actuel n'a pas de style de trait personnalisé associé, la valeur de cls_end_width est 0,0.
Type de données : nombre réel
Exemple :
! ! Modifiez la couleur de tous les éléments avec ! un style de trait personnalisé dont la largeur de fin ! est supérieure à 2 unités de conception principales. ! if (cls_end_width > 2.0) then color = 5 endif
cls_name
Le mot-clé cls_name teste le nom du style de trait personnalisé associé à l'élément actuel. Pour les éléments sans style de trait personnalisé associé, la valeur de cls_name est "NONE".
Type de données : chaîne
Exemple :
! ! Changer la couleur de tous les éléments utilisant le style. ! Attribuez le style de trait personnalisé "origin" à tous ! les autres éléments. ! if (cls_name == '{ Diamond }') then color = 2 else cls_name = "origin" endif
cls_origin_width
Le mot-clé cls_origin_width teste la largeur de début, en unités du fichier de conception principal, du style de trait personnalisé associé à l'élément actuel. Si l'élément actuel n'a pas de style de trait personnalisé associé, la valeur de cls_origin_width est 0,0.
Type de données : nombre réel
Exemple :
! ! Modifiez la couleur de tous les éléments avec ! un style de trait personnalisé dont la largeur de début ! est supérieure à 2 unités de conception principales. ! if (cls_origin_width > 2.0) then color = 5 endif
cls_scale
Le mot-clé cls_scale teste le facteur d'échelle appliqué au style de trait personnalisé associé à l'élément actuel. Si l'élément actuel n'a pas de style de trait personnalisé associé, la valeur de cls_scale est 1,0.
Type de données : nombre réel
Exemple :
! ! Modifiez la couleur de tous les éléments avec ! un style de trait personnalisé dont l'échelle est 2. ! if (cls_scale == 2.0) then color = 5 endif
cls_shift_distance
Le mot-clé cls_shift_distance teste la distance de décalage, en unités du fichier de conception principal, appliquée au style de trait personnalisé associé à l'élément actuel. Si l'élément actuel n'a pas de style de trait personnalisé associé, la valeur de cls_shift_distance est 0,0.
Type de données : nombre réel
Exemple :
! ! Modifiez la couleur de tous les éléments avec ! un style de trait personnalisé dont la distance de décalage ! est égale à 0.5 unité de conception principale. ! if (cls_shift_distance == 0.5) then color = 5 endif
cls_shift_fraction
Le mot-clé cls_shift_fraction teste la fraction de décalage appliquée au style de trait personnalisé associé à l'élément actuel. Si l'élément actuel n'a pas de style de trait personnalisé associé, la valeur de cls_shift_fraction est 0,0.
Type de données : nombre réel
Exemple :
! ! Modifiez la couleur de tous les éléments avec ! un style de trait personnalisé dont la fraction de décalage ! est égale à 0.25. ! if (cls_shift_fraction == 0.25) then color = 5 endif
color
Le mot-clé color indique l'indice de couleur de l'élément actuel.
Type de données : entier de la plage 0 à 255
Exemple :
! ! Remplir les formes avec une surface, avec l'indice de couleur 1. ! if ((color == 1) and (type == shape)) then area_fill = true endif
envr_value
Le mot-clé envr_value permet de comparer la valeur d'une variable d'environnement de définition d'impression sélectionnée en définissant le mot-clé d'affectation envr_variable. Si la variable n'a pas été définie ou n'est pas une variable valide, envr_value est défini comme chaîne de longueur nulle.
Type de données : chaîne
Exemple :
! !Obtenir la valeur de variable d'environnement de définition d'impression !ARCHITECT. Recherchez les éléments de texte avec les caractères !égaux à "$Architect$" et modifiez la valeur du texte !en "Designed by <nom>" si ARCHITECT est égal à !"Owner1" ou "Owner2." Sinon, modifiez la valeur du texte ! en une chaîne vide. ! envr_variable = "ARCHITECT" if((type ==text) and (characters == "$ARCHITECT$")) then if (envr_value .IN. "Owner1", "Owner2") then characters = "Designed by " + envr_value else characters = "" endif endif
envr_value_num
Le mot-clé envr_value_num permet de comparer la valeur d'une variable d'environnement de définition d'impression sélectionnée en définissant le mot-clé d'affectation envr_variable. Si envr_variable n'a pas été défini ou n'est pas une variable valide, envr_value renvoie le nombre réel zéro.
Type de données : réel
Exemple :
! !Obtenir la valeur de variable d'environnement de définition d'impression !MYCOLOR. Si la valeur de « MYCOLOR » est supérieure à !5, définissez le poids sur 2. ! envr_variable = "MYCOLOR" if(envr_value_num gt 5) then weight = 2 endif
file
Le mot-clé fichier indique le numéro d'attachement de fichier du fichier traité. En principe, le fichier principal est l'attachement numéro 0. Générer un métafichier à partir de la ligne de commande imprime le nom du fichier et son numéro d'attachement pour chaque fichier en référence.
Type de données : entier
Exemple :
! Si l'élément actuel est dans le fichier principal ! (index 0), modifiez sa couleur en 2. ! if (file == 0) then color = 2 endif
fill_color
Le mot-clé fill_color indique l'indice de couleur de remplissage de l'élément actuel. Si l'élément n'est pas rempli, fill_color renvoie une valeur de -1.
Type de données : entier de la plage -1 à 255
(-1 indique l'absence de couleur de remplissage pour l'élément)
Exemple :
! ! Les formes avec un index de couleur de remplissage égal à 1 ! seront tracées en rouge. ! if ((fill_color == 1) and (type == shape)) then fill_color = 'red' endif
Exemple :
! ! Ne tracez pas des formes qui ne soient pas ! remplies. ! if ((fill_color == –1) and (type == shape)) then ignore_element = true endif
first_time
Le mot-clé de comparaison first_time permet d'exécuter un segment d'un script de conception une fois. Ce mot-clé (flag) est TRUE la première fois où le script de conception est appelé, puis la valeur est définie sur FALSE. La valeur ne peut pas être réinitialisée. Une bonne utilisation de ce mot-clé consiste à spécifier un modèle de signet. Consultez l'exemple à la fin de cette section.
police
Pour le texte et les nœuds de texte, le mot-clé font contient le numéro de police de l'élément actuel. Pour les éléments autres que texte et nœuds de texte, le numéro de police est zéro.
Type de données : entier de la plage 0 à 255
Exemple :
! ! Ne pas tracer les éléments texte qui utilisent la police 10. if ((type == text) and (font == 10)) then ignore_element = true endif
font_name
Pour le texte et les nœuds de texte, le mot-clé font_name contient le numéro de police de l'élément actuel. Pour les éléments autres que texte et nœuds de texte, le nom de police est "NO_FONT_NAME".
Type de données : Chaîne
Exemple :
! ! Changer la couleur de tous les texte ! qui utilisent la police "architectural". if ((type == text) and (font_name == 'architectural')) then color = 'gris' endif
header_level
Le mot-clé de comparaison header_level renvoie le niveau parent le plus élevé des éléments qui sont des composants d'un élément complexe. Par exemple, supposons que vous ayez deux instances d'une seule cellule partagée dans un fichier de conception : une placée au niveau 2, l'autre au niveau 3. La définition de cellule partagée contient un élément de forme unique au niveau 1. La seule façon de distinguer les deux parties de la géométrie est le niveau parent. Vous pouvez utiliser le mot-clé header_level dans un script de conception pour appliquer une couleur nommée "rouge" à la cellule partagée du niveau 2.
Type de données : entier
Exemple :
! ! Changer la couleur d'une cellule partagée du niveau 2. ! if ((header_type == shared_cell) and (header_level == 2)) then color = 'rouge' endif
header_level_name
Le mot-clé de comparaison header_level_name renvoie le niveau parent le plus élevé des éléments qui sont des composants d'un élément complexe. Par exemple, supposons que vous ayez deux instances d'une seule cellule partagée dans un fichier de conception : une placée au niveau A, l'autre au niveau B. La définition de cellule partagée contient un seul élément de forme au niveau C. La seule façon de distinguer les deux éléments géométriques est le niveau parent. Vous pouvez utiliser le mot-clé header_level_name dans un script de conception pour appliquer une couleur nommée "rouge" à la cellule partagée du niveau A.
Type de données : chaîne
Exemple :
! ! Changer la couleur d'une cellule partagée au niveau A. ! if ((header_type == shared_cell) and (header_level_name == 'Niveau A')) then color = 'rouge' endif
header_type
Le mot-clé header_type détermine le type d'en-tête complexe le plus à l'extérieur pour les éléments qui sont des composants d'une cellule ou d'une cellule partagée. Si l'élément actuel ne fait pas partie d'une cellule ou d'une cellule partagée, la valeur du mot-clé header_type est identique au type de l'élément.
Type de données : entiers qui correspondent aux types d'élément d'en-tête valides ou l'une des constantes suivantes : cellule ou cellule partagée
Exemple 1 :
! ! Si l'élément actuel est un composant d'une cellule, ! régler son épaisseur sur to 2. ! if (header_type == cell) then weight = 2 endif
ip_scale_num
Le mot-clé ip_scale_num obtient l'échelle de définition d'impression sous forme de nombre. Le nombre est toujours renvoyé sous forme d'unités principales/unités d'impression, quelle que soit la façon dont MS_PLT_SCALE_METHOD est défini. Par exemple, si le rapport d'échelle affiché dans la boîte de dialogue d'impression est unités principales : unités d'impression, et que votre échelle est définie sur 2:1, le facteur d'échelle numérique à valeur unique serait 2.0/1.0 ou 2.0.
Type de données : nombre réel
Exemple :
! ! Tracez l'épaisseur du trait en fonction de l'échelle de définition de l'impression. ! if (ip_scale_num ==2) then !large drawing use thick lines thickness = (weight +1) * .02 else !small drawing use thinner lines thickness = (weight +1) * .01 endif
ip_xsize_num
Le mot-clé ip_xsize_num obtient la taille en X de la définition d'impression sous forme de nombre.
Type de données : nombre réel
Exemple :
! ! Tracez l'épaisseur du trait en fonction de la définition d'impression xsize. ! if (ip_xsize_num > 17) then !large drawing use thick lines thickness = (weight +1) * .02 else !small drawing use thinner lines thickness = (weight +1) * .01 endif
ip_ysize_num
Le mot-clé ip_ysize_num obtient la taille en Y de la définition d'impression sous forme de nombre.
Type de données : nombre réel
Exemple :
! ! Tracez l'épaisseur du trait en fonction de la définition d'impression ysize. ! if (ip_ysize_num > 17) then !large drawing use thick lines thickness = (weight +1) * .02 else !small drawing use thinner lines thickness = (weight +1) * .01 endif
level
Le mot-clé level contient le numéro de niveau de l'élément actuel.
Type de données : entier supérieur ou égal à zéro
Exemple :
! ! Définissez la couleur de l'élément en fonction de son niveau. ! if (level == 1) then color = 1 else if (level == 2) then color = 2 endif
level_name
Le mot-clé level_name contient le nom de niveau de l'élément actuel. On peut se servir des caractères spéciaux dans les comparaisons d'égalité ou inégalité de chaînes.
Type de données : chaîne
Exemple :
! ! Définissez la couleur de l'élément en fonction de son niveau. ! if (level_name == "floor1") then color = 1 else if (level_name == "floor2") then color = 2 endif
lname
Si l'élément actuel se trouve dans un fichier en référence, le mot-clé lname contient le nom logique du fichier en référence. Si l'élément actuel se trouve dans le fichier principal, le mot-clé lname donne une chaîne vide (""). On peut se servir des caractères spéciaux dans les comparaisons d'égalité ou inégalité de chaînes.
Type de données : chaîne
Exemple :
! ! Modifiez le poids de tous les éléments dans le fichier de référence ! avec le nom logique de ! "border" ayant un poids égal à 2. Les éléments du ! fichier principal et autres fichiers de référence ! ne seront pas changés. ! if (lname == 'border') then weight = 2 endif
model_format
Le mot-clé model_format permet d'agir sur des éléments à l'intérieur des formats de modèle suivants : DGN7, DGN8, DWG ou DWF.
Type de données : constantes (DGN7, DGN8, DWG ou DXF)
Exemple :
! ! Appliquez un pourcentage de filtrage différent pour ! chaque format de modèle. ! if (model_format == DGN7) then screening = 20 else if (model_format == DGN8) then screening = 30 else if (model_format == DWG) then screening = 40 else if (model_format == DXF) then screening = 50 endif
nested_cellname
Si l'élément actuel est un en-tête de cellule ou un composant d'une cellule, le mot-clé nested_cellname indique le nom de la cellule. Pour les composants imbriqués dans une ou plusieurs cellules, le mot-clé nested_cellname indique le nom de la cellule la plus intérieure. Si l'élément actuel n'est ni un en-tête de cellule ni un composant d'une cellule, la valeur du mot-clé nested_cellname est "NO_CELL". On peut se servir des caractères spéciaux dans les comparaisons d'égalité ou inégalité de chaînes.
Type de données : chaîne
Exemple :
! ! Modifiez le poids de tous les composants de la cellule imbriquée ! nommée "FRAME." ! if (nested_cellname == 'FRAME') then weight = 3 endif
properties
Le mot-clé properties propose deux méthodes pour déterminer si les bits dans le mot properties de l'élément sont définis. Par exemple, les deux expressions relationnelles suivantes sont équivalentes :
Type de données : l'une des constantes suivantes :
Exemple :
! ! Ne tracez aucun élément avec le bit screen_relative ! défini dans le mot des propriétés. ! if (properties == screen_relative) then ignore_element=true endif
taille
Pour les éléments texte, le mot-clé size est la hauteur de la chaîne de texte. Pour tous les autres éléments, la taille est la plus grande des étendues X, Y ou Z de l'élément.
Type de données : unités de travail
Exemple :
! ! Modifiez la couleur des éléments de texte dont la hauteur est ! supérieure à 4 sous-unités. ! if ((type == text) and (size > 0:4:0)) then color = 3 endif
style
Le mot-clé style contient la valeur du style de trait de l'élément actuel. Si le style a été défini plus tôt dans le script de conception par le mot-clé style, style donnera le nouveau style au lieu du style original de l'élément. En outre, si un style nommé ou des transitions ont été utilisées pour définir le style d'un élément, le mot-clé de comparaison style ne le reflètera pas. Il donnera l'indice de style actuel.
Type de données : entier de la plage 0 à 7
Exemple :
! ! Modifiez la couleur de tout élément de niveau autre que 1 ! qui a une style de trait égal à 7. ! if ((level<>1) and (style == 7)) then color = 2 endif
mots-clés tag
Les mots-clés tag vérifient les données de label associées à l'élément actuel. Si les données de label ne sont pas attachées à l'élément actuel, le mot-clé TAG_CHARACTER donne "NO_TAG_CHARACTER", alors que TAG_INTEGER et TAG_REAL donnent NO_TAG_NUM.
Ci-après figurent les brèves descriptions, les types de données et des exemples des mots-clés tags.
Tag_display | vérifie si un type particulier de label s'affiche. |
Tag_character | teste la valeur du label réel. |
Tag_integer | teste la valeur du label réel. |
Tag_real | teste la valeur du label réel. |
Types de données :
Exemple :
! ! En partant de l'hypothèse que le fichier de conception utilise deux jeux de libellés, ! « Adresse personnelle » et « Adresse professionnelle », chaque ! contenant un label de caractère nommé « Ville », ! modifie la couleur de tous les éléments dont les balises ! indiquent comme adresse personnelle « Bordeaux » ou comme ! adresse professionnelle « Toulouse »." ! ! Commencez par rechercher les indicateurs « City » appartenant à l'ensemble d'indicateurs ! "Home address". ! tag_set = 'Home address' tag_name = 'City' if (tag_char == 'Huntsville') then color = 4 endif ! Rechercher maintenant les libellés dans le jeu de libellés « Adresse professionnelle » !. Notez que le nom du label est toujours "Ville". tag_set = 'Work address' if (tag_char == 'Toulouse') then color = 4 endif
text_node_number
Le mot-clé de comparaison text_node_number permet de procéder à un test par rapport au numéro de nœud de texte d'un élément complexe de nœud de texte.
Type de données : entier
Exemple 1 :
! ! Modifiez la couleur du texte associé à un numéro de nœud de texte spécifique !. ! if (text_node_number eq 46) then color = 3 endif
Exemple 2 :
! ! Ce script de conception définit un attribut de feuille de tracé ! d'après les caractères stockés dans un élément de nœud de texte ! du fichier de conception. Cet attribut de feuille peut être utilisé ! comme attribut date dans une archive numérique. if (text_node_number eq 10) then envr_variable = "Author" envr_value = envr_value + " " + characters else if (text_node_number eq 11) then envr_variable = "Title" envr_value = envr_value + " " + characters endif
type
Le mot-clé type détermine le type de l'élément actuel.
Type de données : entiers qui correspondent aux types d'élément valides, ou l'une des constantes suivantes :
arc (type 16) | line_string (type 4) |
assoc_dim (type 33) | mesh (type 105) |
bspline_curve (type 27) | multiline(type 36) |
bsplne_surface(type 24) | shape (type 6) |
cell (type 2) | shared_cell (type 35) |
complex_shape (type 14) | solid (type 19) |
connected_string (type 12) | surface (type 18) |
curve (type 11) | text (type 17) |
ellipse (type 15) | text_node (type 7) |
line (type 3) |
Exemple :
! ! ! Changer la couleur des lignes, lignes brisées, et courbes ! au niveau 1 ! if ((type in 3,4,11) and (level == 1)) then color = 1 endif
épaisseur
Le mot-clé weight contient la valeur de l'épaisseur de trait de l'élément actuel.
Type de données : entier de la plage 0 à 31
Exemple :
! ! Définissez la couleur de l'élément en fonction de son poids ! units = inches if (weight == 0) then color = 1 else if (weight == 1) then color = 2 else if (weight == 2) then color = 3 else if (weight == 3) then color = 4 else if (weight == 4) then color = 5 else if (weight == 5) then color = 6 endif
largeur
Le mot-clé width est uniquement valable pour les lignes 2D, lignes brisées, ellipses, arcs et chaînes connectées. Tous les autres éléments ainsi que les éléments 3D ont une valeur de largeur de 0. La valeur de largeur est extraite du champ d'étendue basse Z de l'élément et indique la largeur de trait de l'élément en unités de travail, par opposition à une valeur d'épaisseur.
Type de données : unités de travail
Exemple :
! ! Modifiez la couleur des lignes, lignes brisées, chaînes connectées !, arcs et ellipses en fonction de leur largeur. ! units = inches if (type .in. 3,4,12,15,16) then if (width == 0:0:050) then color = 1 else if (width == 0:0:100) then color = 2 else if (width == 0:0:150) then color = (30,50,100) else if (width == 0:0:200) then color = (100,0,0) else if (width > 0:0:300) then color = (0,0,0) endif endif