mardi 27 décembre 2016

Excel vers Revit : Etiquettes de pièces vers Plan Revit MEP

Cet applicatif permet de renseigner les libellés des pièces créées dans le plan Revit MEP avec les libellés du plan Revit Archi qui ont été enregistrés dans un fichier Excel précédemment (Voir article correspondant)

Liens de téléchargement :

Développé sur Revit 2016/17 - Dynamo 1.2

A quoi sert l'application Dynamo ? :
Le développement Dynamo présenté ci-dessous permet de transférer les paramètres des pièces d'un plan Revit ARchi (généralement renseignés par l'Archi sur son modèle Revit) vers le plan MEP sur lequel je dois travailler.

Fond de plan Revit Archi avec le nom des pièces


Plan Revit MEP avant exécution de l'applicatif. Les étiquettes ne sont sélectionnables.



Plan Revit MEP après exécution de l'applicatif. Les étiquettes sont sélectionnables et modifiables dans le plan MEP.




Pour utiliser ce programme, il faut :
 1) Un fond de plan Revit Archi avec les murs et les étiquettes des pièces (Nom, Numéros, ..) lié à Revit (Revit->Insérer->Lier revit).

 2) Un plan Revit MEP avec les pièces créées. Voir l'article sur la création de pièces dans un plan MEP à partir des pièces du plan Revit Archi dans le Sommaire.

Faire apparaître les noms de pièces du plan Archi dans le plan MEP (Revit->VV (ou modification du gabarit de vue)->Lien Revit->Paramètres d'affichage : Par vue liée)

Les pièces du plan Archi sont maintenant visibles. 
Positionner la croix de la pièce de référence sur le texte de l'étiquette du plan Archi.



 3) Le fichier Excel qui a été renseigné avec l'applicatif Dynamo suivant (applicatif Dynamo). Ce fichier contient les infos nécessaires au transfert des étiquettes ( Texte du libellé, position de l'étiquette dans les coordonnées du plan Revit Archi, Coefficient d'échelle). Le coef d'échelle est enregistré avec l'applicatif N°2.


Quelques explications sur le programme :
Le programme est assez grand, je vais donc le décomposer.



Zone 1 : Zone d’initialisation des données avant exécution du programme


Zone 2 : Récupération de la totalité des pièces créées dans le Plan Revit MEP


Zone 3  - On récupère les caractéristiques (id et coordonnées) de la pièce du plan Revit qui à été sélectionnée sur le plan Revit MEP. Cela permet de créer une référence pour relier le plan Revit MEP au plan Revit ARchi.



Zone 4 - Dans cette partie on récupère les infos du fichier Excel et on isole les données de la pièce définie dans la zone 1 (la pièce de référence sur laquelle on à cliqué).
Le node string.contains permet de trouver l'index de la liste qui contient la chaîne de caractère "Nom de pièce" défini dans la zone 1.
Le node List.Slice nous permet de récupérer la sous liste qui concerne uniquement les données de la pièce de référence qui nous intéresse.



Zone 5 :  Les premiers blocs modifient les paramètres de la pièces en pointant sur la pièce de référence dans Revit que l'on a isolé dans la zone 3 de notre programme.
Les deux autres blocs récupèrent les coordonnées de la pièces.



Zone 6 :  Récupération des coordonnées X et Y de toutes les pièces Autocad sur le fichier Excel.
Avec "List.DorpItems" j'enlève les éléments de la colonne A du fichier Excel.
"List.map" permet de traiter le 2eme niveau de la liste sans déstructurer la liste.


Zone 7 : Cette zone récupère le coefficient d'échelle dans le fichier Excel qui a été calculée lors de la création des murs avec l'applicatif N°2.



Zone 8 :  Cette zone de Node permet de convertir les coordonnées des pièces du plan Archi en coordonnées sur le plan MEP. Il suffira ensuite de vérifier dans qu'elles pièces se trouvent les différents points.


Je calcul d'abord le décalage (en X et Y) entre chaque pièces (coordonnées Archi) et la pièce de référence (cliquée).
Yref : Coordonnée Y de la pièce de référence.
Y : liste des coordonnées des pièces Archi (fichier Excel).
Le Node de soustraction calcul les coordonnées de chaque pièces dans le système de coordonnées de Revit.


Zone 9 :  Cette zone de Node permet de retrouver et de classer les pièces du plan MEP en fonction des coordonnées des pièces du plan Archi transformées précédemment en coordonnées MEP.


On va vérifier pour chaque point de coordonnées de pièce Archi s'il se trouve à l'intérieur d'une pièce créé dans MEP. C'est le Node "Room.IsInsideRoom" qui calcul cela. 
Afin de pouvoir traiter tous les cas, il faut que les deux listes soient de même longueur. J'utilise le Node "List.OfRepeatedItem".
Le node "List.FilterByBoolMask" permet de récupérer toutes les pièces de Revit dans l'ordre dans lequel elles ont été trouvées.

Zone 10 :  Cette zone de Node écrit dans les pièces le contenu des 4 premières lignes du fichier Excel.




Aucun commentaire:

Enregistrer un commentaire