Affichage des articles dont le libellé est Famille. Afficher tous les articles
Affichage des articles dont le libellé est Famille. Afficher tous les articles

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.

29 janv. 2020

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




    1. Échapper un caractère spécial contenu dans un nom de paramètre

      
Il se peut qu'un caractère spécial soit inclut dans le nom d'un paramètre dans ce cas il faut utiliser les crochets [ ]
 Exemple : 

    • Paramètre oui-non : Alim Saillie/Encastrée
    • exemple formule associée : if([Alim Saillie/Encastrée], 0 m, 0.035 m)
Note :
Si vous avez pour habitude de "piloter" vos paramètres par programmation,  dans la mesure du possible éviter les caractères spéciaux, idem pour les caractères accentués (penser à l'encoding)


    2. Les Maths

Concernant l'utilisation de fonctions mathématiques elles sont similaires à  ceux que nous pouvons rencontrer en programmation




Syntaxe de fonctionDescriptionExemples
+Addition, additionnez des valeursLongueur totale = Hauteur + Largeur
-Soustraction, recherchez la différence entre des valeursVolume supprimé = Volume A - Volume B
*MultiplicationAire = Hauteur * Largeur
/DivisionMi-longueur = Longueur / 2
^Exponentiation, X élevé à la puissance YHauteur ^ 2
logLogarithme, l'exposant de la puissance à laquelle un nombre de base doit être élevé pour qu'il soit égal à un nombre donné.2 = log10 100
In(x)Logarithme népérien, le logarithme d'un nombre sur la base de la constante mathématique e.ln(x*y) = ln*x + ln*y
sqrt(x)Racine carrée4 = sqrt(16)
sin(x)SinusAvec des valeurs c et A connues, a = c * sin(A)
cos(x)CosinusAvec des valeurs c et A connues, b = c * cos(A)
tan(x)TangenteAvec des valeurs a et B connues, b = a * tan(B)
asin(x)Arc sinusAvec des valeurs a et c connues, A = asin(a/c)
acos(x)Arc cosinusAvec des valeurs a et c connues, B = acos(a/c)
atan(x)Arc tangenteAvec des valeurs a et b connues, A = atan(a/b)
exp(x)Constante mathématique e élevée à la puissance x.exp(3)
abs(x)Valeur absolue2 = abs(-2)
piRapport de la circonférence d'un cercle à son diamètreAire du cercle = pi * r^2
round(x)La fonction d'arrondi renvoie une valeur arrondie à l'entier le plus proche. Elle ne prend pas en compte la direction de l'arrondi.
round(3.1) = 3
round(3.5) = 4
round(-3.7) = -4
roundup(x)La fonction d'arrondi par excès renvoie une valeur arrondie à la valeur entière supérieure ou égale à x.
roundup(3) = 3
roundup(3.1) = 4
roundup(-3.7) = -3
rounddown(x)La fonction d'arrondi par défaut renvoie une valeur arrondie à la valeur entière inférieure ou égale à x.
rounddown(3) = 3
rounddown(3.7) = 3
rounddown(-3.7) = -4


     3. Les Opérateurs et les formules conditionnelles

La structure est similaire à celle que nous pouvons utiliser sous Excel.
  • Règle n°1
Le type de paramètre conditionne la formule. Inutile d'essayer de retourner un booléen à un paramètre qui attend une longueur 
  • Règle n°2
Les unités doivent être compatibles entre elles.
Cependant même si elles sont compatibles, attention tout de même à ne pas additionner n'importe quoi ...
Le scandale du théorème de Boucherot 
  • Règle n°3
À l'instar d'un appel de fonction suivi d'arguments, les opérateurs se mettent en préfixe suivis de parenthèses englobant la condition et/ou les valeurs.
  • Règle n°4
À ce jour Revit ne permet pas d’évaluer les valeurs des paramètres de type Texte, si vous y tenez, passez par une table de consultation 

Quand Revit nous envoi booler...



Pour les tests logiques les opérateurs supportés sont:
Opérateur Logique   Description
<  strictement inférieur
>strictement supérieur
=  égal
andretourne Vrai si toutes les valeurs sont Vrai 
orretourne Vrai si une des valeurs est Vrai
notretourne l'inverse de la valeur booléenne (ou du résultat de l'évaluation booléenne)
not(a > b) équivalent à : a <= b
not(a < b)équivalent à : a >= b


Utilisation de l'Opérateur AND
Exemple:
x = 5
y = 4
and(x = 5, y = 5) retourne Faux (False)


Utilisation de l'Opérateur OR
Exemple :
x = 5
y = 4
or(x = 5, y = 5) retourne Vrai (True)


Utilisation de l'Opérateur NOT
Exemple :
x = 5
not(x = 6) retourne Vrai (True), x = 6 étant Faux


      4. Les Syntaxes des Formules 

  • La syntaxe de base est la suivante :
 if (test logique, valeurA si vrai, valeurB si fausse)retourne valeurA ou valeurB
   
  • Test logique avec AND
 if (and(LongA = 10, LongB = 10), valeurA, valeurB)- retourne valeurA ou valeurB
 - Paramètre de Type Longueur

L'équivalent Pseudo-Code à titre de comparaison

   
SI LongA = 10 ET LongB = 10:
    retourne valeurA
SINON:
    retourne valeurB

  • Test logique avec OR
 if (or(LongA = 10, LongB = 10), valeurA , valeurB )- retourne valeurA ou valeurB
 - Paramètre de Type Longueur

Pseudo-Code
   
SI LongA = 10 OU LongB = 10:
    retourne valeurA
SINON:
    retourne valeurB

  • Test logique avec multiple conditions
La syntaxe est la suivante : 
 if (test logique1, valeurA si vrai, (test logique2 si faux, valeurB si vrai, valeurC si vrai))retourne valeurA ou valeurB ou valeurC

Prenons pour l'exemple 3 paramètres de longueur, nous cherchons à retourner la valeur max dans un nouveau paramètre "MaxLong:
LongA = 50
LongB = 40
LongC = 30

Pour simplifier la compréhension commençons par l’équivalent avec un Pseudo-Code

Pseudo-Code
  
SI LongA > LongB and LongA > LongC:
     MaxLong = LongA  
SINON SI LongB > LongA and LongB > LongC: 
    MaxLong = LongB
SINON: 
    MaxLong = LongC   


 l'expression sous Revit devient la suivante :

 if (and(LongA > LongB, LongA > LongC), LongA , if(and(LongB > LongA, LongB > LongC), LongB, LongC ))- retourne LongA ou LongB ou
LongC
 - Paramètre de Type Longueur

On peut comme cela imbriquer autant de conditions que nécessaire...dans la limite du raisonnable

Moralité (ou conseil): si vous n'êtes pas à l'aise avec les formules Revit commencer par écrire la formule sous forme Pythonesque ou Pseudo-Code ou autre



À suivre les formules de recherche dans les tables de consultation...


24 déc. 2019

[Revit] ça monte ou ça descend?

une montée de chemin de câble sans fin sous Revit...



Avant la matérialisation sous Autocad des cassures des chemins de câbles ainsi que les calculs des NGF pouvaient prendre un certains temps...
Aujourd’hui sous Revit avec du développement de scripts associés à des familles paramétriques on peut automatiser tout cela.

Ma première réflexion était d'attribuer des couleurs par filtre au raccord de chemins de câble de type concave et convexe mais pour des cas complexes, même accompagnés de hauteurs, les couleurs peuvent ne pas suffire pour une compréhension rapide de certains cheminements sur plans.

Donc en attendant la généralisation des lunettes à réalité augmentée 😁 sur les chantiers, pour éviter les possibles réflexions semblables à l'escalier de Penrose, j'ai fini par scripter la matérialisation automatique des descentes et des montées des chemins de câbles. 

Démonstration en vidéo sous une musique du moment





Bonnes Fêtes de Fin d'Année  🎁🎄🎄

Le fichier RVT avec le Chemin de Câble de Penrose pour les curieux 

13 oct. 2019

[Revit] Vous n'êtes pas très Familles ?



from https://pxhere.com



Un petit tour d'horizon des différentes Catégories du Génie Électrique de la hiérarchie de ces éléments

La catégorie de famille spécifiée au moment de la création d'une famille détermine quels paramètres de famille sont activés. Les réglages de ces paramètres de famille affectent le comportement de l'élément et identifient le type de composant.

Par exemple si vous ne comprenez pas pourquoi votre symbole d'annotation n'est pas visible lorsque votre luminaire n'est pas dans le même plan que votre vue, regardez le tableau ci-dessous







La Catégorie "Équipement Électrique"

Les familles "Équipement Électrique" sont l'origine des différents systèmes électriques (CFO & Cfa) dans la maquette.
Ils doivent être exclusivement réservés à cet usage

Ils peuvent s'apparenter aux différents principaux nœuds d'une installation électrique (que l'on retrouve dans le navigateur de système).






Exemple de familles Catégorie "Équipement Électrique (Tableau/Baie)" (avec leurs Type d’élément) 







Donc par exemple si vous trouvez une famille d'une Prise Electrique dont la catégorie est "Équipement Électrique" ben ... c'est une erreur 😔 👎 .

Note : de ce fait certaines familles "Équipement Électrique" auront ainsi 2 connecteurs :

    - un connecteur pour l'alimentation électrique (Puissance)

    - un connecteur pour les systèmes qui seront issus de cette famille, (Alarme incendie ou Sécurité ou Donnée, etc...)



Les autres types de Catégorie
  • Exemple de familles Catégorie "Installation Électrique"

  • Exemple de familles Catégorie "Luminaire"


  • Exemple de familles Catégorie "Dispositif de Données"


  • Exemple de familles Catégorie "Dispositif d'éclairage"
Mais aussi ... une boite de dérivation d'éclairage avec ou sans contrôleur intégré.
 ou encore

❓❓Quoi? une boite de dérivation dans la Catégorie Dispositif d'éclairage ? 😲

Ben oui Revit permet d'associer ce Type d’Élément à cette Catégorie comme à d'autre 
Catégories de familleTypes d'éléments
Bouches d'aérationNormal
Raccord de chemin de câblesCroix de goulotte, Coude de goulotte, Goulotte à orifices multiples, Décalage de goulotte, Té de goulotte, Transition de goulotte, Union de goulotte, Coude vertical de goulotte, Croix d'échelle, Coude d'échelle, Echelle à orifices multiples, Décalage d'échelle, Té d'échelle, Transition d'échelle, Union d'échelle, Coude vertical d'échelle
Appareils de communicationNormal, Boîte de raccordement
Raccords de conduitChapeau, Croix, Coude, Coude de la boîte de raccordement, A orifices multiples, Té, Transition, Union
Dispositifs de donnéesNormal, Boîte de raccordement
Accessoires de gaineAttache à, Divise en, Amortisseur
Raccords de gaineChapeau, Croix, Coude, Croix latérale, Té latéral, A orifices multiples, Décalage, Déviations, Piquage - Réglable, Piquage - Perpendiculaire, Té, Transition, Union, Raccord à 45 degrés
Equipement électriqueInterrupteur de l'équipement, Autre panneau, Tableau de contrôle, Transformateur
Installations électriquesBoîte de raccordement, Normal, Interrupteur
Dispositifs d'alarme incendieBoîte de raccordement, Normal
Dispositifs d'éclairageBoîte de raccordement, Normal, Interrupteur
LuminairesBoîte de raccordement, Normal
Equipement mécaniqueDivise en, Extrémités, Capteur intégré, Normal, Robinet – Divise en
Equipement d'appel infirmièreBoîte de raccordement, Normal, Interrupteur
Accessoires de canalisationAttache à, Divise en, Extrémité, Capteur intégré, Normal, Capteur, Vanne - Type Introduction, Vanne normale
Raccords de canalisationChapeau, Croix, Coude, Bride, Croix latérale, Té latéral, Accouplement mécanique, A orifices multiples, Tubulure de raccordement - Réglable, Tubulure de raccordement - Perpendiculaire, Té, Transition, Union, Raccord à 45 degrés
Appareils sanitairesNormal
Dispositifs de sécuritéBoîte de raccordement, Normal, Interrupteur
SprinklersNormal
Appareils téléphoniquesBoîte de raccordement, Normal


  • Exemple de familles Catégorie "Dispositif de sécurité"
Caméra





  • Exemple de familles Catégorie "Appareils de Communication"
    (TV & Multimédia)
Haut Parleur
Antenne et Prise TV

  • Exemple de familles Catégorie "Dispositif d'Alarme Incendie"
 Terminaux SMSI et Détection SDI

❓❓Catégorie? Famille? Instance? Type? 😨  difficile de s'y retrouver...

allez un petit schéma explicatif de cette hiérarchie

on retrouve cette même hiérarchie dans l'interface de Revit

Catégorie
Une catégorie est un groupe d'éléments qui permet de modéliser ou de documenter une conception de bâtiment.
Famille
Les familles sont des classes d'éléments d'une catégorie. Les éléments regroupés au sein d'une famille partagent certains paramètres communs (les propriétés). Ils s'utilisent de manière identique et sont représentés par les mêmes formes graphiques. Différents éléments d'une même famille peuvent avoir des valeurs différentes pour certaines propriétés ou pour toutes, mais l'ensemble des propriétés (leur nom et leur rôle) reste le même. 
Type
Une famille peut posséder plusieurs types. Un type peut correspondre à une taille spécifique dans une famille, telle qu'un cartouche 30” X 42” ou A0. Un type peut également correspondre à un style, tel qu'un style de cote alignée ou angulaire par défaut.
Occurrence (appelée aussi Instance)
Les occurrences correspondent à des éléments réels (individuels), insérés dans le projet et situés à un emplacement donné du bâtiment (occurrences de modèle) ou sur une feuille de dessin (occurrences d'annotation).
À cela vient s'ajouter la notion de Type d'Élément de la catégorie. 
Le paramètre Type d'élément fournit une sous-classification supplémentaire dans une catégorie de famille, et détermine le comportement des éléments dans la famille.
Nota1: il n'y aucun rapport avec la Classe ElementType de l'API Revit
Nota2: l'héritage de Classe de l'API Revit est différent de cette arborescence (exemple la Classe FamilyInstance n'herite pas de la Classe FamilySymbol)

❓❓Et les éléments POE (switchs, luminaires, WIFI etc...)  ils vont dans quelle Catégorie ? 😕
Chaque type élément POE sera classé dans sa catégorie dédiée.
Un Luminaire POE sera toujours dans la Catégorie Luminaire, mais c'est au niveau du connecteur de famille qu'il faudra être vigilant, ça fera l'objet d'un article ultérieur spécifique à ce sujet 😊