Classement des éléments par sous-projets

Gestion des sous-projets et de leurs éléments dans Revit :

Combien de fois ai-je vu des éléments dans le mauvais sous-projet (workset)? L'erreur est bien sûre humaine, et tout corriger manuellement est un gaspillage de temps selon moi, et même anti-BIM.

C'est pourquoi il faut se doter de systèmes de contrôle de qualité, afin de libérer du temps pour réellement faire un projet et non pas gérer des paramètres de maquette.

Solution? Oui encore Dynamo!

Habituellement nous démarrons un projet avec des standards de bureau. Ces derniers comprennent aussi une liste de sous-projets par défauts (Vous pouvez utiliser les sous-projets qui vous conviennent).

Ex: ARCH_ENVELOPPE, ARCH_INTERIEUR, ARCH_SYSTEMES_VERTICALES, ETC..

Il y a plusieurs façon de sélectionner et filtrer les éléments dans Dynamo pour ensuite leur attribuer le paramètre de sous-projet. Nous allons procédez à la démonstration d'une routine que vous pourrez répéter selon vos projets.

La démonstration est faite avec Revit 2017 fr et Dynamo 1.3. Un projet Revit est ouvert en arrière plan, autrement Dynamo ne fonctionnera pas.

 Une vue globale de la routine en 3 étapes faciles.

Une vue globale de la routine en 3 étapes faciles.

1. Extraire une liste des sous-projets, avec leur noms et ID.

 Le  noeud  "TOUS LES SOUS-PROJETS" est en fait un code Python.

Le noeud "TOUS LES SOUS-PROJETS" est en fait un code Python.

Par défaut, il n'existe pas encore de noeud fourni avec Dynamo pour extraire les sous-projets. Par contre, quelques packages en offre la possibilité. Nous n'allons pas le faire avec des packages, pour des raisons de compréhension et pour ne pas dépendre de ces derniers.

Il vous faudra donc ouvrir une boite Python à l'intérieur de votre session Dynamo et taper ce code (je n'expliquerai pas ce que font exactement les lignes de codes, puisque cela dépasse le but de ce tutoriel, mais si vous voulez un cours, il me fera plaisir de vous assister) :

python workset.jpg

Ce code nous donne accès au document Revit en cours et à son API (application programming interface) Le résultat est une liste de deux listes. La première est le nom des sous-projets en cours. La deuxième est seulement le numéro ID unique à chaque objet Revit.

2. Sélectionner le sous-projet, mais aussi son ID.

 On ne peut pas entrer simplement le nom du sous-projet pour l’attribuer à des éléments. Ici nous avons choisi "ARCH_INTERIEUR" et les nodes IndexOf et List.GetItemAtIndex permettent de retrouver rapidement le  ID  associé au sous-projet. C'est cette valeur qui servira d'attribution de sous-projet.

On ne peut pas entrer simplement le nom du sous-projet pour l’attribuer à des éléments. Ici nous avons choisi "ARCH_INTERIEUR" et les nodes IndexOf et List.GetItemAtIndex permettent de retrouver rapidement le ID associé au sous-projet. C'est cette valeur qui servira d'attribution de sous-projet.

3. Attribuer le paramètre de sous-projet aux éléments

 Avec la valeur du ID du sous-projet, on peut maintenant l'associer aux éléments préselectionnés.

Avec la valeur du ID du sous-projet, on peut maintenant l'associer aux éléments préselectionnés.

Pour le sous-projet ARCH_INTERIEUR, on peut alors sélectionner les plafonds, cloisons intérieures, pièces et mobiliers. Ensuite il faudra connecter ces éléments à une boite (List.Create) qui en fera une liste globale. Finalement, nous allons niveler les listes d'éléments en une seule liste m, pour ensuite changer leur valeur de sous-projet.

Si vous voulez contrôler votre projet en entier, il vous faudra faire des noeuds différents pour chaque nom de sous-projets.

Une fois terminé, ça ressemblera à cela : 

 un spaghetti de noeuds, mais utile.

un spaghetti de noeuds, mais utile.

Le Paramétrage des Familles - Options de visibilité

Le Paramétrage des Familles - Options de visibilité

Extraction de familles Revit

Extraction de familles Revit