[Tutoriel] API Autodesk AEC Data Model – Un exemple

Olivier Bayle Olivier Bayle 30/08/2024

4 min de lecture

Suite à mes deux articles sur l’API Autodesk AEC Data Model, je vous propose « un petit » tutoriel.

Exemple traité : je vais demander l’ensemble répertoires des comptes sur lesquels je suis actif.

Avant d’aller plus loin, je vous invite à lire les deux articles Village BIM (ici et ici).

1- Structuration des « Hubs » :

Ci-dessous, j’ai reconstruit la structuration de la requête « Hubs » dont je vais me servir pour l’exemple (voir l’ensemble de la structuration ici)

2- Requête sur les comptes utilisés :

Dans l’interface de l’API Autodesk AEC Data Model, créez un nouvel onglet (après vous êtres « loggé »).

La première ligne de code va consister à créer la requête (demande) que je vais intituler « VillageBIM » (bien sûr) !

Résultat :

A ce stade, nous allons utiliser deux commandes :

Voici les commandes ci-dessous :

Nous allons demander les noms des comptes ainsi que leurs identifiants.

A ce stade, nous allons lancer la requête en cliquant sur le bouton rouge ou enfoncez simultanément les touches « Ctrl » et « Espace » et voici le résultat : soit 4 comptes et leurs identifiants respectifs

Nota : La valeur de « Cursor » est nulle, ce qui signifie que la liste présentée est complète.

3- Requête sur les projets :

A ce stade, nous allons lancer la requête en cliquant sur le bouton rouge ou enfoncez simultanément les touches « Ctrl » et « Espace » et voici le résultat : pour chaque compte sont listés les répertoires :

Nota : le deuxième « Cursor » indique la valeur Nulle, toute la liste des projets est affichée.

4- Requête sur les répertoires :

Afin d’obtenir des résultats, nous allons limiter la liste des projets afficher en utilisant la commande « Limit ». Voici le code ci-dessous modifié :

Voici le code final que  vous pouvez recopier.

query VillageBIM {

 hubs{

  pagination{

    cursor

  }

  results{

    name

    id

    projects (pagination : {limit :3}){

      pagination{

        cursor

      }

           results{

             name

             folders (pagination : {limit :3}){

              pagination{

                cursor

              }

                results{

                  name

                  project{

                    name

                                      }

                }

            }

      }

    }

  }

}

}

Abonnement e-mail