Package Dynamo BIM One pour Google Sheets

Catégorie: Technique
Publié le 9 Décembre 2019 par Vincent Cadoret

Nous sommes heureux d’annoncer la publication de notre package BIMOneGoogleAPI pour Dynamo qui vous permet d'interagir avec Google Sheets via Dynamo. Le package sera non seulement disponible sur dynamopackages.com, mais aussi open source!


Ce que vous pouvez faire avec ce jeu de noeuds Dynamo:

  • 📃 Lister toutes les Google Sheets dans un Google Drive
  • Créer une nouvelle Google Sheet
  • 📖 Lire une Google Sheet
  • Écrire dans une Google Sheet (incluant un noeud “batch append” très pratique)
  • 🧹 Effacer des valeurs dans une certaine plage

  • Et plus!

Usages potentiels

  • Synchroniser des valeurs de paramètres Revit aller-retour vers le nuage.
  • Donner accès à la donnée contenue dans vos maquettes via le nuage.
  • Exporter les données de projets Revit pour alimenter un algorithme de machine learning.

Configuration

Par la façon dont l'authentification fonctionne pour l’API de Google Sheets, vous devrez créer vos propres informations d’identification et les placer au bon endroit. Vous pouvez trouver des instructions détaillés sur comment le faire dans la section “Installation & Config” de la page Github. Cette opération n’a besoin d’être exécutée qu’une seule fois.

Exemple d’usage

Voici un exemple simple montrant comment accéder à une Google Sheet spécifique dans votre Google Drive et ajouter de l’information à la première et deuxième feuille:

Résultats tels que vue sur la Feuille2:

Vous pouvez trouver cet exemple et d’autres dans le fichier Dynamo GoogleSheetAPITest_v2.dyn dans le répertoire Github.

Noeuds inclus

  • GetGoogleSheetsInGoogleDrive

    Obtenir une liste de toutes les Google Sheets que vous pouvez voir dans votre Google Drive. Facultatif: passez une “string” au paramètre “filter” pour réduire le nombre de résultats.

  • GetSheetsInGoogleSheet

    Obtenir une liste de feuilles dans une Google Sheet.

  • ReadGoogleSheet

    Lire une plage spécifique d’une feuille dans un chiffrier. Facultatif: retourner les valeurs brutes non formatées en utilisant “unformattedValues”

  • ReadGoogleSheetMultipleRanges

    Lire plusieurs plages dans un chiffrier. Le format de chaque plage dans l'input doit être TitreDeFeuille!A:Z. Facultativement, retourner les valeurs brutes en utilisant “unformattedValues”

  • CreateNewGoogleSheet

    Créer une nouvelle Google Sheet (le nom ne doit pas déjà exister dans votre Google Drive) et facultativement l’ouvrir dans votre navigateur web en utilisant la booléenne “openInBrowser”

  • CreateNewSheetWithinGoogleSheet

    Créer une nouvelle feuille dans un chiffrier.

  • BatchAppendDataToGoogleSheet

    Ceci est la façon privilégiée d’écrire des données. Elle optimisera le nombre de requêtes nécessaires pour écrire les données vers les Sheets. Elle ajoutera les données à la fin de chaque feuille qui lui est fourni. Ça prend une liste de feuilles et les données correspondantes (une liste de listes qui contient les données à ajouter au tableau dans Google Sheets. La liste extérieure correspond aux feuilles, la première indentation aux rangées et la dernière aux colonnes dans les rangées).

  • AppendDataToGoogleSheet

    Semblable aux “batch append” mais peut spécifier une plage. C’est plus simple à utiliser mais n’est pas optimisé pour des grandes quantités de données et donc va générer beaucoup de requêtes .

  • WriteDataToGoogleSheet

    Écrit les données vers un feuille en commençant à la plage spécifiée. Attention: ça va écraser les données déjà présentes à cette plage. C’est mieux de commencer avec “BatchAppend” .

  • ClearValuesInRangeGoogleSheet

    Utiliser avec précaution. Efface les valeurs dans une certaines plage. Facultativement, fournissez une “string” de recherche. Si la “string” de recherche est présente et qu’un résultat est trouvé (sensible à la casse, mais des résultats partiels sont valides), alors toute la rangée où cette cellule a été trouvé sera supprimée.

  • DeleteSheetByIdWithinGoogleSheet

    Supprime des feuilles à l’intérieur d’un chiffrier basé sur les ID qu’on lui donne.

  • DeleteSheetByTitleWithinGoogleSheet

    Supprime des feuilles à l’intérieur d’un chiffrier basé sur les titres qu’on lui donne..

Prochaines étapes

Si vous avez une demande de fonctionnalité à faire ou vous avez trouvé un problème dans les noeuds, SVP utilisez la page Github issues pour nous la soumettre. Vous êtes aussi bienvenue de nous envoyez une "pull request" pour voir votre code intégré dans le package.

N'hésitez pas à partager vos cas d’usage et votre votre feed-back avec nous et avec la communauté!


Vincent Cadoret
Spécialiste BIM, BIM One

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