Premier pack de scripts Dynamo par BIM One pour Paramètres

Publié le 9 Avril 2019 par Jean-Marc Couffin
Catégorie: Technique

Premier pack de scripts Dynamo par BIM One pour Paramètres

Au fil des années, chez BIM One, que ce soit à l’interne ou auprès de nos clients et partenaires, nous avons développé une expertise certaine dans l'utilisation de Dynamo, repoussant ainsi les limites de Revit et permettant de concevoir, contrôler, exporter, ... plus simplement ou d'automatiser ce qui est répétitif. Nous avons d’ailleurs créé à l'interne notre propre barre d'outils permettant à nos spécialistes BIM d'être plus productifs, afin qu'ils puissent se concentrer sur l'essentiel, nos services BIM.

La communauté Dynamo BIM

La beauté et une des forces majeures de Dynamo, c’est sa communauté allumée et réactive. Ainsi, le forum Dynamo et ses petits frères tel que archi-lab, Bad Monkeys, data|shapes ou les différents Dynamo User Groups de par le monde ont été de grandes sources d'inspiration et d'apprentissage pour beaucoup, nous inclus! Toutes ces ressources sont développées par des passionnés, des codeurs / designers / ingénieurs / architectes fous. Tous partagent leurs expérimentations, le plus souvent à titre gracieux. Aujourd'hui, c’est à notre tour de redonner à la communauté.

Pack 01

Les paramètres

Nous allons décrire certains des problèmes que le pack cherche à résoudre. Pas intéressé? Allez directement aux description des 3 scripts.

Avec ce premier pack de script, nous répondons à plusieurs problèmes récurrents liés à l'usage des paramètres dans Revit:

  • Les paramètres globaux - Qui n'a pas eu de difficultés à gérer et suivre le bon usage des paramètres globaux? Ceux-ci étant liés aux éléments du modèle occurrence par occurrence, c'est à dire: pour deux éléments de même famille et de même type, l’un peut avoir un paramètre global lié, alors que l’autre ne sera pas lié.
  • Combien de fois vous êtes-vous retrouvés bloqués parce que vous ne pouviez pas utiliser un paramètre dans un filtre, ou bien dans une nomenclature? Une des astuces, c'est de transférer les données d'un paramètre «non-accessible» vers un autre paramètre qui est «accessible».
  • Copier les données d'un élément d'un modèle lié dans un élément du modèle actif: une grosse partie de ce qui fait la qualité d’un modèle BIM réside dans l'exactitude des données intégrées. Il n'est pas rare que nous soyons amenés à dupliquer (idéalement temporairement) certains éléments d'un modèle d'une discipline à l'autre. En Architecture, par exemple, il est fréquent de modéliser les luminaires pour coordonner leurs positions, mais aussi pour effectuer des rendus 3D, ou encore pour les quantifier et étudier l'impact du choix de tel ou tel luminaire.

Anatomie des scripts

Hiérarchie de l'information

Nos scripts sont structurés de façon systématique pour en faciliter la compréhension pour tous les utilisateurs:

Figure 1.0 Les différents groupes correspondent à la progression standard d’un script: des données en entrée, des contraintes, une interface qui interroge sur les entrées et les contraintes, des actions sur les données ou la géométrie

Interface

Ils possèdent tous une interface lorsque nécessaire (merci à nos amis de data|shapes).

Dépendances

Nous cherchons à développer nos scripts avec le minimum de dépendances possible pour faciliter la diffusion et la maintenance. Par dépendances, nous entendons des noeuds personnalisés qui serait à télécharger pour que le script soit fonctionnel.

Langues

Nos scripts sont bilingues : Français-Anglais. Le siège social de BIM One Inc. est installé au Québec, où les deux langues y cohabitent, et nos clients sont aussi bien anglophones que francophones. La première section de chaque script débute donc par un script python qui interroge la langue de l'interface de Revit et conditionne le texte de l'interface.

Pack #1 - Les paramètres

Script #1 - BIM1_MapGlobalParameters

Avec ce script vous pourrez:
  • Lier un paramètre global à tous les éléments Revit d'une ou plusieurs catégories.
Le script complet Map Global Parameters
Figure 2.0 Le script complet Map Global Parameters

Processus en 5 temps

  1. Choisir les catégories d'éléments qui contiennent le paramètre que vous souhaitez lier,
  2. Sélectionner le type de paramètre: Type ou Occurrence,
  3. Sélectionner le paramètre des catégories concernées,
  4. Sélectionner le paramètre global à lier,
  5. Une boîte de dialogue vous indique combien d'éléments ont été traités ou non.

Attention

  • Assurez-vous qu'il est possible d'associer le paramètre en question
  • Tous les paramètres de type ou d'occurrence sont listés, mais tous ne peuvent pas être associés. Vérifier que les deux paramètres sont de même type: texte avec texte, matériau avec matériau, etc.




Script #2 - BIM1_MapParameters

Avec ce script vous pourrez:
  • Copier la donnée d'un paramètre appliqué à plusieurs catégories, tout en lui ajoutant un préfixe ou un suffixe ou un caractère de séparation spécifique.
  • Bonus: Ajouter un préfixe ou un suffixe à la donnée d'un paramètre déjà rempli.
Le script complet Map Parameters
Figure 3.0 Le script complet Map Parameters

Processus en 5 temps

  1. Sélectionner les catégories d'éléments concernées comportant le paramètres source
  2. Sélectionner le paramètre source
  3. Sélectionner le paramètre vers lequel vous souhaitez copier la donnée
  4. Remplir le cas échéant les champs préfixe, suffixe et caractère de séparation - si vide, seule la donnée source sera transférée -
  5. Sélectionner le mode de composition de la donnée transférée:
    • préfixe-séparateur-donnée-séparateur-suffixe
    • préfixe-donnée-suffixe
    • préfixe-séparateur-donnée
    • préfixe-donnée
    • donnée-séparateur-suffixe
    • donnée-suffixe
    • donnée

Le script vous retournera le nombre d'éléments traités.

Attention

  • Tous les (types de) paramètres ne sont pas équivalents ou transposables. Il faut respecter leurs caractéristiques propres, un peu comme des unités de mesure. Ainsi, un paramètre de texte ne peut pas être transféré dans un paramètre de nombre, par contre l’inverse est faisable. Un matériau ne se transfert pas dans un paramètre de type oui/non, etc. vous avez compris le principe!
  • Vous pouvez transférer de la donnée de plusieurs catégories, mais uniquement si le paramètre est appliqué à toutes les familles d'une catégorie. Sinon, il vous sera impossible de transférer correctement de la donnée depuis ou vers ce paramètre pour les familles en question.
  • Le script est également capable de transférer le nom du sous-projet ou de la phase vers un paramètre de type texte




Script #3 - BIM1_LinkedItemData2CurrentFileItemData

Avec ce script vous pourrez:
  • Transférer les données d'un élément unique présent dans un fichier lié vers un élément du fichier actif.
Le script complet Linked Item Data 2 Current File Item Data
Figure 4.0 Le script complet Linked Item Data 2 Current File Item Data

Processus en 5 temps

  1. Sélectionner le fichier lié avec TAB+Clic
  2. Sélectionner l'élément du fichier lié qui vous intéresse
  3. Sélectionner le paramètre contenant la donnée qui vous intéresse
  4. Sélectionner l'élément dans lequel vous souhaitez copier de la donnée
  5. Sélectionner le paramètre dans lequel vous souhaitez copier la donnée


Aller plus loin

On peut imaginer, à partir de ce même script, créer une routine qui irait interroger tous les éléments d'une catégorie donnée dans un fichier lié, récupérer leurs origines respectives, les comparer avec les éléments de la même catégorie dans le fichier courant et transférer la donnée dans ceux-ci après avoir comparé leurs positions.

Prochains scripts à venir

Nous sommes impatients de pouvoir diffuser notre prochain pack de scripts Dynamo. Le second pack devrait être composé d’outils de nettoyage de fichier.

Si vous avez des questions sur ces scripts, svp n’hésitez pas de nous contacter sur dynamo@bimone.com. Si vous souhaitez recevoir les dernières nouvelles, inscrivez-vous à notre infolettre mensuelle.

Avertissements

  • Ces scripts sont distribués gracieusement par BIM One Inc. Ils ont tous été testés et utilisés par nos spécialistes avant d’être diffusés. Toutefois, Dynamo, comme l’informatique n’est pas une science exacte, alors il se peut que certains scripts ne fonctionnent pas comme prévu sur vos ordinateurs ou dans vos projets. Nous ne pourrons pas être tenus responsables de l’utilisation que vous en ferez. Évidemment, nous tenterons de corriger les problèmes éventuels ou de répondre à vos questions dans la mesure du possible et en fonction de nos disponibilités.
    Notre objectif est d’assurer un suivi une fois par semaine.
  • Comme tout script Dynamo, il est essentiel de comprendre que les manipulations sur un fichier peuvent provoquer un résultat non souhaité:
    Toujours enregistrer son fichier ou une copie de son fichier avant de procéder
  • Afin d’avoir un résultat correct, il est nécessaire de fermer puis réouvrir Dynamo à chaque fois que vous utilisez le même script sur le même fichier.


Jean-Marc Couffin
Spécialiste BIM

En cliquant sur Envoyer, je reconnais avoir lu et accepté la politique de confidentialité.