Je suis un adepte de Dynamo et du BIM, ou je souhaite démarrer l’expérience BIM.
Je suis responsable des lots techniques, et je fais des demandes de réservations sur Revit.
Après plusieurs indices de plans, différentes demandes, et modifications, le flux d’informations a pu être rompu.
Premièrement, j’ouvre la maquette contenant les demandes de réservations. La maquette Gros œuvre est chargée avec ses réservations.
Après cela, je veux vérifier si toutes mes nouvelles demandes ou modifications sont bien prises en compte.
Enfin, je lance mon outil Dynamo.
Ainsi donc, nous obtenons une liste de toutes les réservations avec :
- La confirmation de la présence dans la maquette gros œuvre
- La correspondance spatiale
- La correspondance de la taille
Par conséquent, nous fiabilisons les échanges pour vos projets
Présentation vidéo
Fonctionnement du Dynamo
Tout d’abord, voici les packages utilisés :
- BimorphNodes
- Clockwork
- Archilab_Bumblebee
1.1 – Premièrement, nous récupérons les maquettes liées dans un script :
LinkDoc=[] linkid=[] reference=uidoc.Selection.PickObjects(ObjectType.Element,"Sélectionner un ou plusieurs lien(s)") for i in reference: linkid .append(doc.GetElement(i)) OUT = linkid
1.2 – Deuxièmement, nous récupérons les modèles génériques de ces maquettes liées et leur transformation
linkinstance=UnwrapElement(IN[0])
linkcollector=[]
linkcollector2=[]
trf=[]
for j in linkinstance:
linkcollector=[]
linkcollector=FilteredElementCollector(j.GetLinkDocument()).OfCategory(BuiltInCategory.OST_GenericModel).WhereElementIsNotElementType().ToElements()
linkcollector2.append(linkcollector)
for i in linkcollector:
trf.append(j.GetTotalTransform())
OUT = List.Flatten(linkcollector2,1),trf
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_1.png)
1.3 En troisième lieu, nous récupérons ensuite les réservations via une condition sur le paramètre identifiant.
name1=IN[0]
name2=IN[1]
elementlist = []
collector = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_GenericModel).WhereElementIsNotElementType().ToElements()
for i in collector:
if doc.GetElement(i.GetTypeId()).Family.Name ==name1 or doc.GetElement(i.GetTypeId()).Family.Name ==name2 :
elementlist.append(i)
OUT = elementlist
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_2.png)
3 – Puis, nous récupérons le niveau des réservations du projet en cours
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_4.png)
4 – Ensuite, nous établissons une liste des identifiants présents à la fois dans le projet en cours et dans les maquettes liées. Nul si ça n’est pas le cas.
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_5-1024x319.png)
5 – Afin de couvrir les problèmes de géoréférencement, nous récupérons les transformations des réservations des maquettes liées
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_6-1024x244.png)
6 – Ensuite, nous identifions les intersection des réservations du projet en cours avec celles des maquettes liées. Puis, nous comparons le volume d’intersection par rapport au volume de la réservation du projet en cours.
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_7-1024x317.png)
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_8-1024x397.png)
7 – Etant donné que la méthode ci-dessus peut conduire à des faux négatifs, il faudra récupérer les tailles des réservations afin de fiabiliser la comparaison.
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_9-1024x463.png)
8 – Par la suite, nous récupérons des valeurs finales en vue de les mettre dans un fichier Excel préalablement mis en forme
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_10.png)
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_13-1024x335.png)
9 – Enfin, nous modifions le fichier Excel
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_11-1024x462.png)
10 – Pour terminer, voici le résultat
![DYNAMO REVIT BIM réservations](https://cosym.fr/wp-content/uploads/2021/01/dynamo_controle_rsv_12-1024x418.png)
Pour terminer, vous pouvez donc télécharger le fichier dynamo et le fichier Excel ici.