- Les formules de recherche dans les tables de consultation
Les tables de consultation contiennent des données sur les types, Revit propose une fonction size_lookup qui lit les valeurs nécessaires dans un fichier CSV qui est importé dans la famille.
Les avantages :
- permet d'éviter de trop longues formules
- permet d'évaluer un paramètre de type Texte
- permet de spécifier plusieurs tailles de pièces en fonction d'une table, sans avoir à créer un type de famille distinct pour chaque taille
La syntaxe de la fonction size_lookup() est la suivante :
result=size_lookup(NomTableConsultation, ColonneConsultation, DéfautSiIntrouvable, LookupValue1):
Où | Est | |
---|---|---|
result | la valeur renvoyée. | |
NomTableConsultation | le nom du fichier CSV (à mettre entre guillemet sans l'extension) | |
ColonneConsultation | le nom de la colonne dans laquelle la valeur résultante va être recherchée pour être renvoyée. Si l'argument est égal à "" la valeur retournée sera issue de la 1ère colonne | |
DéfautSiIntrouvable | la valeur qui sera renvoyée si LookupValue est introuvable. | |
LookupValue(1-N) | la valeur à rechercher dans les première et deuxième colonnes et dans les colonnes suivantes de la table. (Lors de la recherche des valeurs, la première colonne est ignorée.) Il peut s'agir d'un Paramètre de Famille ou d'une valeur Note : le nom de l'argument n'est pas forcément identique à un titre de la table |
Note la structure du fichier CSV est défini ici, types de paramètres ainsi que les unités doivent être en Anglais (Attention à la page d'aide FR de l'aide Revit)
La syntaxe des titres de colonnes sont du format :
NomParamètre##TypeParamètre##UnitésParamètre
NUMBER, LENGTH, AREA, VOLUME, ANGLE, et OTHER pour les autres il faut ruser 😀
Quelques exemples
Syntaxe du Titre de la colonne | Type de valeurs de la colonne | |
---|---|---|
Para1##OTHER## | Texte | |
Para1##LENGTH##MILLIMETERS | Longueur en millimètre | |
Para1##ANGLE##DEGREES | Angle en degré | |
Para1##NUMBER##GENERAL | Nombre | |
Para1##AREA##METER | Surface en m² |
Voici un exemple d'un fichier CSV
un aperçu des différentes formules qui peuvent être utilisées
__Formules__
|
_______Explication et valeur retournée_______
| |
---|---|---|
size_lookup("test table", "Long", 0 mm, inputuser) Paramètre de type : Longueur | Recherche de la valeur du paramètre "inputuser" dans la table et retourne la valeur correspondante de la colonne "Long" . Retourne 0 mm si aucune valeur n'est trouvé dans la table | |
size_lookup("test table", "nbrReseau", 2, inputuser) Paramètre de type : Nombre | Recherche de la valeur du paramètre "inputuser" dans la table et retourne la valeur correspondante dans la colonne "nbrReseau" Retourne 2 si aucune valeur n'est trouvé dans la table | |
size_lookup("test table", "reference", "NA", inputuser) Paramètre de type : Texte | Recherche de la valeur du paramètre "inputuser" dans la table et retourne la valeur correspondante de la colonne "reference". Retourne "NA" si aucune valeur n'est trouvé dans la table | |
size_lookup("test table", "", "NA", inputuser) Paramètre de type : Texte | Recherche de la valeur du paramètre "inputuser" dans la table et retourne la valeur correspondante dans la 1ère colonne Retourne "NA" si aucune valeur n'est trouvé dans la table | |
size_lookup("test table", "angle", 0°, inputuser) Paramètre de type : Angle | Recherche de la valeur du paramètre "inputuser" dans la table et retourne la valeur correspondante de la colonne "angle". Retourne 0° si aucune valeur n'est trouvé dans la table | |
size_lookup("test table", "surface", 1 m², inputuser) Paramètre de type : surface | Recherche de la valeur du paramètre "inputuser" dans la table et retourne la valeur correspondante dans la colonne "surface" Retourne 1 m² si aucune valeur n'est trouvé dans la table |
Les résultats des valeurs retournées sous Revit
- pour "inputuser" = A
- pour "inputuser" = B
- Il est également possible d'effectuer une recherche suivant plusieurs paramètres
Astuce :
Si l'on souhaite utiliser un type de paramètre qui n'est pas disponible dans les tables par défaut (NUMBER, LENGTH, AREA, VOLUME, ANGLE, et OTHER), il faut utiliser le type nombre (##NUMBER##GENERAL) dans la table et multiplier le résultat par une valeur unitaire avec l'unité souhaitée.
Exemple si l'on tente de retourner une puissance depuis une Table
Astuce en passant par un multiplicateur
- le paramètre Puissance est de type "Puissance"
- le paramètre PuissanceInt est de type "Nombre"
0 commentaires:
Enregistrer un commentaire