dimanche 18 décembre 2016

Autocad vers Revit : Renseigner les textes des pièces du plan Revit avec les données du plan Autocad

Je travaille en bureau d'étude d’ingénierie de conception de bâtiments dans le domaine de l'électricité, j'utilise donc Revit MEP en collaboration avec un dessinateur pour dessiner nos plans de conception ELEC. 
Les architectes sont encore nombreux à nous transmettre des plans Autocad, nous dessinons donc avec le fond de plan DWG de l'archi.
Cette méthode ne permet pas de récupérer les pièces et les libellés des pièces du plan Archi.

Liens de téléchargement :

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

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

Fond de plan Autocad avec le nom des pièces



 Plan Revit après exécution de l'applicatif




Comment l'utiliser? :
Suivre les instructions données dans le programme Dynamo (Zone de l'image ci-dessous):


Pour utiliser ce programme, il faut :
 - Un fond de plan Autocad avec les murs et les étiquettes des pièces (Nom, Numéros, ..) lié à Revit (Revit->Insérer->Lier CAO),
 - Un fichier Excel dans lequel vous aurez transféré depuis Autocad les informations relatives aux étiquettes de pièces ( Texte du libellé, position de l'étiquette dans les coordonnées du plan Autocad).


Le fichier Excel doit être organisé en plusieurs onglets, avec un onglet dans lequel vous aurez nettoyé les textes importés d'Autocad et gardé uniquement les informations utiles pour Revit : Nom de pièce, Nom de l'appartement (ou divers), Position X, Position Y, Position Z.
La qualité du résultat sur le plan Revit dépend directement des informations qui seront renseignées dans les colonnes A et B.



 - Un plan Revit MEP avec les pièces créées.
Nota : La création des pièces dans un plan Revit MEP ne fait pas parti du travaille du BE puisque ce travaille est déjà réalisé par l'archi et est appelé à être modifié à chaque phase. C'est donc une grosse perte de temps que de le faire à la main.
J'ai donc créé un programme Dynamo qui permet de créer des murs à partir d'un fond de plan Autocad épuré (ce programme fait l'objet d'un autre article : Création de murs sur Revit).

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 Autocad.



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 et les convertissent en Chaîne de caractères en nombre (Les nombres sont lus en String dans Excel).



Zone 6 :  Récupération des coordonnées X et Y de toutes les pièces Autocad sur le fichier Excel et conversion en Nombre.



Zone 7 :  Cette zone de node permet de convertir les coordonnées des pièces du plan Autocad en coordonnées sur le plan Revit. 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 Autocad) 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 Autocad.
Le node de soustraction calcul les coordonnées de chaque pièces dans le système de coordonnées de Revit.


Zone 8 :  Cette zone de node permet de retrouver et de classer les pièces de Revit en fonction des coordonnées des pièces du plan Autocad transformées précédemment en coordonnées Revit.


On va vérifier pour chaque point de coordonnées de pièce Autocad s'il se trouve à l'intérieur d'une pièce créé dans Revit. 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 9 :  Cette zone de node écrit dans les pièces le contenu des deux premières colonnes du fichier Excel.



Aucun commentaire:

Enregistrer un commentaire