6 févr. 2020

[Revit] Familles et formules paramétrique 2/2




  • 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
resultla valeur renvoyée.
NomTableConsultationle nom du fichier CSV (à mettre entre guillemet sans l'extension)
ColonneConsultationle 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éfautSiIntrouvablela 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

Les types de paramètres acceptables sont :
NUMBER, LENGTH, AREA, VOLUME, ANGLE, et OTHER pour les autres il faut ruser 😀

Quelques exemples 
Syntaxe du Titre de la colonneType de valeurs de la colonne
Para1##OTHER##Texte
Para1##LENGTH##MILLIMETERSLongueur en millimètre
Para1##ANGLE##DEGREESAngle en degré
Para1##NUMBER##GENERAL Nombre
Para1##AREA##METERSurface 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  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