mercredi 12 avril 2023

Revit 2023_Excel_Dynamo_Famille Revit

Objectif : Enrichir les propriétés d’une famille Revit en insérant des données Excel via Dynamo

Méthode :

Ø  Transformer une documentation technique en fichier Excel

Ø  Importer le fichier Excel dans Dynamo

Ø  Trier les données

Ø  Attribuer les données à une famille Revit

En option :

Ø  Ajouter une étiquette à la famille

En complément :
Ø  Comment réparer Excel...

Un Grand Merci à RIVES CONSULT TUTORIALS / Stephan Rives: Vidéo : Dynamo: How to add imported Excel Data to Revit Familiy Parameters

00_EXCEL_REVIT_DYNAMO
_Famille Revit renseignée via Dynamo depuis des données Excel

01_Fichier Excel des données qui renseigneront la famille Revit
Ø  1ère Ligne En-tête
Ø  2ème Ligne Données 

02_Famille Revit dans un projet Revit
La famille Revit est renseignées dans ses propriétés via un script Dynamo 
(Les données sont listées dans le même ordre que dans le fichier Excel)

03_Dynamo_Organisation du script :
Ø  1_Importation des données Excel
Ø  2_Organisation de la liste
Ø  3_Choix de la famille à renseigner
Ø  4_Trie
Ø  Référence > Extraction des données pour un champ donné, ici : Référence
Ø  Garantie 30 ans> Extraction des données pour un champ donné, ici : Garantie 30 ans
Ø Idem pour les groupes suivants 

04_Fichier Excel :
Ø  Les données Excel doivent être référencées en texte (à l’origine le champ « Référence » était composé seulement de chiffres référencés en texte dans Excel, pour que Dynamo puisse lire la donnée, il faut ajouter d’autres caractères, ici : _

05_Revit_Famille Revit

06_Revit_Famille Revit

07_Revit_Famille Revit
_Chargement de la famille dans un projet Revit

08_Revit_Projet Revit
Famille Revit dans le projet
Ouverture de Dynamo
La vue de travail, ici : Niveau 0, sera la vue de référence pour Dynamo

09_Revit, Dynamo Importation des données Excel
Importation des données Excel
Ø  File Path : Fichier Excel duquel on souhaite importer des données
Ø  File from Path : Adresse du fichier Excel

10_Dynamo_Importation des données Excel
Data.ImportExcel
Ø  String : Nom de la feuille Excel
Boolean : False

11_Dynamo, Importation des données Excel

12_Dynamo, Organisation de la liste des données
Ø  List.FirstIndexOf : Trie des données > Titre des colonnes
Ø  List.RestOfItems : Trie des données à traiter
Ø  List.Transpose : Organisation des données

13_Dynamo, Organisation de la liste

14_Dynamo, Sélection de la famille
Ø  Family Types : Choix du type de famille
Ø  All Eléments of Family Type : Choix des familles du type

15_Dynamo, Sélection de la famille

16_Dynamo, Trie
Ø  Code Block : Nom de l’en tête de la 1ére colonne
Ø  Element.GetParameterValueByName : Trie des paramètres par nom
Ø  List.SortByFunction : Trie croisé entre le type de famille et le paramètre choisie du Code Block

17_Dynamo, Trie


18_Dynamo_Excel
Le Code Block Dynamo correspond à l’en tête de la 1ère colonne Excel

19_Dynamo, Référence
Ø  List.GetItemAtIndex ; Création d’une liste suivant un index donné
Ø  Integer Slider : Ici la valeur de l’integer Slider est 1 qui correspond à la 2ème colonne d’en tête d’Excel

20_Dynamo, Référence, Excel
Ø  Integer Slider = 1
Ø  List.GetItemAtIndex
Ø  Code Block : Référence
Ø  String from Object
Ø  Element.SetParameterByName
Ø  Les données extraites dans ce nœud, correspondent à la 2ème colonne d’en tête Excel : Référence

21_Dynamo, Référence

22_Dynamo, Référence

23_Revit, Famille Revit, Excel,
Ajout d’un paramètre « Référence » à la famille Revit

24_Revit, Dynamo, Excel_Test du script Dynamo
Ø  Dynamo : Exécuter > Dans Revit, la famille est renseignée dans ses propriétés pour le champs « Référence »

25_Revit : Famille Revit, Ajout des paramètres de propriété suivant le fichier Excel

26_Famille Revit
Ø  Chargement dans le projet

27_Projet Revit
La famille est renseignée pour les en têtes comme pour le fichier Excel         
Il reste à importer les données Excel pour les données

28_Dynamo, Importation des données
Ø  Copier le groupe « Référence », et incrémenter l’Integer Slider suivant la colonne Excel correspondante, le Code Block correspond à la colonne Excel de cette même colonne
Ø  Répéter l’opération pour chaque colonne

29_Dynamo, Importation des données


30_Revit, Famille Revit, ajout d’une étiquette
Ø  Choix d’un gabarit d’étiquette en fonction du type de famille

31_Revit_Famille
Ø  Libellé = Nom de la famille

32_Revit_Famille Revit
Ø  Ajout de paramètres partagés correspondants aux paramètres de la famille issus du fichier Excel

33_Revit_Famille Revit
Ø  Ajout de paramètres partagés correspondants aux paramètres de la famille issus du fichier Excel

34_Revit_Famille Revit
Ø  Ajout de paramètres partagés correspondants aux paramètres de la famille issus du fichier Excel

35_Revit_Famille Revit_Etiquette
Ø  Ajout des paramètres partagés dans le libellé de l’étiquette

36_Revit_Famille Revit_Etiquette
Ø  Ajout des paramètres partagés dans le libellé de l’étiquette

37_Test de l’étiquette dans le projet

38_Revit_Famille Revit_Etiquette
Ø  Ajout des paramètres partagés dans le libellé de l’étiquette

39_Projet Revit_Famille Revit avec Etiquette

40_Excel_Revit_Dynamo
Test pour des modifications : Les cases jaunes du fichier Excel ont été modifiées
Ø  Enregistrement du fichier Excel modifié
Ø  Rechargement du fichier Excel dans Dynamo
Ø  Test du script Dynamo : Exécuter…

41_Excel_Revit_Dynamo
Test du script Dynamo : Exécuter
Les modifications ont été affectées aux champs correspondants de la famille Revit 

42_Dynamo_Ajout d’un champ « Société » (Cet ajout permet de choisir de puis Excel la fiche technique par société)
Ø  Modification du fichier Excel
Ø  Rechargement du fichier Excel dans Dynamo
Ø  Modification du Groupe Trie > Code Block = « Société »
Ø  Dupliquer le groupe 1_Référence en Groupe 0_Société

43_Revit_Excel
Ajout du champ « Société »

44_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
1_Importation des données Excel
Ø  Rôle du nœud Data.ImportExcel : Collecte des données Excel

45_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
2_Organisation de la liste
Rôle des nœuds List.FirstIndexOf et List.RestOfItems
Ø  List.FirstIndexOf : Liste des en-têtes de colonnes
Ø  List.RestOfItems : Liste des données par colonnes

46_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
2_Organisation de la liste
Rôle du nœud List.Transpose : Réorganisation des données

47_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
3_Sélection de la famille
Rôle des nœuds Family Types et All Elements of Family Type
Ø  Family Types : Choix du type de famille
Ø  All Elements of Family Type : Choix des types de la famille = ID de la famille

48_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
4_Trie
List.SortByFunction = ID de la famille

49_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
0_Société
Integer Slider et List.GetItemAtIndex
Ø  Integer Slider = 0 = N° de la 1ère colonne Excel
Ø  List.GetItemAtIndex : Valeur de la donnée en fonction de la colonne

50_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
Ø  Le nom de la société est en 0 dans List.Transpose > Integer Slider = 0
List.GetItemAtIndex > Société = 0

51_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
String From Object

52_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
Ø  Element.SetParameterByName = ID de la famille

53_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
Ø  Integer Slider = 0 > Code Block = Société > 1ère valeur de l’étiquette = 1ère colonne Excel

54_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
Ø  Integer Slider = 1 > Code Block = Référence > 2ème valeur de l’étiquette = 2ème colonne Excel

55_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
Ø  Integer Slider = 2 > Code Block = Garantie 30 ans > 3ème valeur de l’étiquette = 3ème colonne Excel

56_Excel_Dynamo_Revit
Correspondance entre Excel et Dynamo
Ø  Integer Slider = 10 > Code Block = 0% BPA > 11ème valeur de l’étiquette = 11ème colonne Excel

57_Excel_Dynamo_Revit
Correspondance entre Excel Dynamo et la famille Revit
(Dans cet exemple, les colonnes Excel A,B,C,D,E,F,G,H,I,K,L,M,N,O,P, correspondent aux N°0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 des Integer Slider de Dynamo)


Il y a parfois des problèmes entre Excel et Dynamo...
Lors de mes premiers essais pour ce tuto, j'ai eu des messages d'erreurs dans Dynamo, sur le nœud: Data.ImportExcel...

A_Dynamo_Noeud: Data.ImportExcel
> Lors de l'exécution du script il y a un message d'erreur qui empêche de poursuivre le travail
> Ma configuration de travail:
> Win 11
> Excel : par abonnement
> Dynamo : 2.13 (à jour)
> Revit 2023
Ce n'est pas un problème de cohérence des différents logiciels entre eux, j'ai trouvé la solution sur internet, il faut faire une petite manipulation pour la Suite Office

B_Windows > Paramètres > Applications > Microsoft 365...

C_Microsoft 365 > ... > Microsoft > réparation rapide > Réparer

D_Microsoft 365 > Réparation en cours...

E_Microsoft 365 > Réparation terminée
(L'opération dure moins d'1/4 d'heure et il n'y pas besoin de redémarrer le PC)





Aucun commentaire: