Voici un exemple Dynamo où je mixte deux demandes de nos lecteurs de notre blog Village BIM:
- un exemple MEP,
- filtrer des listes d’éléments,
En conséquence, je vous ai concocté un exemple simple où je veux sélectionner toutes les gaines d’un seul niveau et leurs affecter un changement d’élévation.
Cet exemple se réalise en trois étapes :
1- La sélection :
Le nœud “Categories” en sélectionnant le champ “Gaine” me permet d’indiquer à Dynamo que je m’intéresse à cette catégorie.
Le nœud “All Elements of Category” sélectionne tout les éléments dans le fichier Revit appartenant à la catégorie désignée (ici Gaine).
Une fois relié, cela crée une première liste de toutes les gaines issues de mon fichier.
Ensuite, je m’intéresse aux gaines du niveau actif, je vais donc utiliser le nœud “All Elements In Active View” qui crée automatiquement une deuxième liste.
2 – Le filtrage :
A partir des deux listes générées, je veux savoir quels sont les éléments (gaines) qui sont dans le niveaux actif, je vais donc utiliser un nœud “List.ContainsItem”. Une suite de vrais (“true”) et de Faux (“false”) qui permettent de savoir si les éléments présents dans la première liste sont dans la deuxième (true = présent).
Il existe un nœud qui permet d’appliquer un filtre à une suite en fonction d’une liste de booléens, il s’agit du nœud “List.FilterByBoolMask”. Finalement, la suite de booléens est utilisée comme un masque pour mettre en lumière les éléments qui répondent aux critères précédents.
3 – Affectation de valeurs :
C’est la partie la plus facile. Je vais utiliser le nœud “Element.SetParameterByName” qui me permet d’affecter des valeurs à un paramètre aux objets sélectionnés.
Ici, les objets seront issus de la sortie “In” du nœud “List.FilterByBoolMask”, le paramètre sera un “String” sous le nom ‘'Décaler” et la valeur un code block*.
* Le code block est une interface qui permet sous un langage particulier de réaliser des fonctions. Le nœud peut être obtenu en double cliquant dans l’interface Dynamo.
Voici la vidéo qui explique en détail les différentes opérations: