7.8.13.4.2. Condition de l'IF : Valeur par défaut "Forcé" ou "Standard

L'exemple suivant montre comment une variable de plage de valeurs (ici SEL "Selector") permet de contrôler une autre variable de plage de valeurs, une fois avec une condition IF standard (ici TFW "Standard") et une fois avec une condition IF forcée (ici TFWF "Forced").

Exemple dans PARTdesigner

Exemple dans PARTdesigner

Lors du chargement du tableau, les valeurs de départ sont affichées. La valeur de départ est représentée par le premier paramètre défini dans la formule [Equation]. Pour le sélecteur, il s'agit de 1, pour TFW (TMA) et TFWF (TMAF) de la valeur "alpha" en raison de la condition définie.

Exemple dans PARTdataManager : valeurs par défaut chargées

Exemple dans PARTdataManager : valeurs par défaut chargées

Algorithme de caractéristiques [Attribute algorithm] TMA avec condition IF standard

IF (SEL.EQ.1)THEN
 TMA = '''a'',''alpha'',''b'',''beta'',''c'',''gamma'''
ELSEIF(SEL.EQ.2)THEN
 TMA = '''b'',''beta'',''a'',''alpha'',''c'',''gamma'''
ELSEIF(SEL.EQ.5)THEN
 TMA = '''xy'',''xy'''
ELSE
 TMA = '''c'',''gamma'',''a'',''alpha'',''b'',''beta'''
ENDIF

Algorithme de caractéristiques [Attribute algorithm] TMAF avec condition IF + définition forcée d'une valeur

[Remarque]Remarque

En cas de définition forcée, la valeur de départ (première valeur entre parenthèses pointues) est toujours redéfinie à chaque chargement du tableau.

Exemple correct :

IF (SEL.EQ.1)THEN
 TMAF = '<''a'',''alpha''>,''b'',''beta'',''c'',''gamma'''
ELSEIF(SEL.EQ.2)THEN
 TMAF = '<''b'',''beta''>,''a'',''alpha'',''c'',''gamma'''
ELSEIF(SEL.EQ.5)THEN
 TMAF = '<''xy'',''xy''>'
ELSE
 TMAF = '<''c'',''gamma''>,''a'',''alpha'',''b'',''beta'''
ENDIF

Par défaut, la valeur de départ (la première valeur) n'est définie initialement qu'une seule fois lors du chargement du tableau, sauf si la nouvelle valeur de départ n'est pas comprise dans la plage de valeurs actuellement définie.

Si vous souhaitez forcer une valeur, tenez compte de ce qui suit :

  1. La valeur doit être définie comme première paire de paramètres.

  2. La paire de paramètres doit être placée entre parenthèses pointues.

  3. Il est recommandé de mettre une valeur forcée dans chaque condition ou dans aucune, sinon le comportement pourrait être déroutant.

    Exemple : la première condition n'a pas été respectée : Ici, aucune valeur forcée n'a été définie dans la deuxième condition, ce qui n'est justement pas recommandé.

    IF (SEL.EQ.1)THEN
    TMAF = '<''a'',''alpha''>,''b'',''beta'',''c'',''gamma'''
    ELSEIF(SEL.EQ.2)THEN
    TMAF = '''b'',''beta'',''a'',''alpha'',''c'',''gamma'''
    ELSEIF(SEL.EQ.5)THEN
    TMAF = '<''xy'',''xy''>'
    ELSE
    TMAF = '<''c'',''gamma''>,''a'',''alpha'',''b'',''beta'''
    ENDIF
    

Description du comportement dans le PARTdataManager (ou tableau PARTdesigner ) :

  • A l'ouverture du tableau, le sélecteur 1 est chargé comme valeur de départ (1 est la première valeur sous formule [Equation] ) et donc, suivant la condition, la valeur "alpha" dans TFW (TMA) et TFWF (TMAF).

  • Lorsque le sélecteur 2 est activé, les valeurs de TFW et TFWF passent à "bêta".

  • Si le sélecteur est remis à 1, seule la valeur de TFWF change. TFW ne change plus.

    [Remarque]Remarque

    Cela montre la différence entre le paramétrage standard et le paramétrage forcé. Avec la définition forcée, la valeur de départ (première valeur entre parenthèses pointues) est toujours redéfinie. Avec la condition IF standard, non, sauf si la nouvelle valeur de départ ne fait pas partie de la plage de valeurs actuellement définie.

  • En revanche, si le sélecteur est maintenant fixé à 5, les TFW et TFWF changent tous deux.

    [Remarque]Remarque

    La raison en est que la valeur "xy" n'existe pas dans la plage de valeurs actuellement définie. Dans ce cas, la valeur change même si elle n'est pas forcée.

    Avec le sélecteur 1, les deux valeurs changent à nouveau pour la même raison.

  • Définissez maintenant manuellement TFW et FFWF sur la valeur "beta" et modifiez le sélecteur sur 3.

    Résultat : aucun changement, ni pour TFW ni pour TFWF.

    [Remarque]Remarque

    La plage de valeurs du sélecteur 3 couvre la valeur définie manuellement. Par conséquent, aucune modification n'a lieu.

  • Si vous fixez maintenant le sélecteur à 5, la nouvelle valeur sera définie.

    [Remarque]Remarque

    La raison en est que la valeur "xy" n'existe pas dans la plage de valeurs actuellement définie.

[Remarque]Remarque

Une variable numérique peut également être utilisée pour le sélecteur.

IF (SEL.EQ.1)THEN
 NMA = '<1,''alpha''>,2,''beta'',3,''gamma'''
ELSEIF(SEL.EQ.2)THEN
 NMA = '<2,''beta''>,1,''alpha'',3,''gamma'''
ELSE
 NMA = '<3,''gamma''>,1,''alpha'',2,''beta'''
ENDIF