[Explications] Design Automation API– Exemples

4 min de lecture

clip_image002[4]

    En début d’année, je vous annonçais la naissance de la technologie Design Automation for Revit , une des nombreuses annonces d’Autodesk Université 2018. Dans mon article, vous trouverez toutes les explications concernant les concepts et utilisations.

    Depuis, cette technologie continue à évoluer et notamment, elle vient de faire peau neuve avec la sortie de la version 3 de Design Automation en version béta. A cette occasion, Monsieur Augusto Goncalves, Forge Developer Advocate de la société Autodesk, nous présente les nouveautés ainsi que des cas concrets d’utilisation lors d’un webcast.

    Vous trouvez ci-dessous, les éléments importants de la présentation.

1- Les fondamentaux , les bases :

    La Design Automation est la possibilité de disposer du pouvoir de l’application de bureau dans le cloud. Il s’agit tout simplement d’opérations en batch* utilisant des données d’entrée (Input) et restituant des données de type résultat (Output).

*Batch : il s’agit d’un traitement par lots, enchaînement automatique d'une suite de commandes sans intervention humaine.

clip_image004[4]

La version beta v3 de Design Automation introduit trois nouveaux moteurs Autodesk:

Nota : la version 2 ne supportait que le moteur AutoCAD en mode production.

    De façon générale, ces moteurs sont disponibles pour les versions 2018 et 2019 cités plus haut mais aussi pour les futures versions (exception : version 2017 aussi pour AutoCAD).

    Les éléments d’entrée et de sortie sont principalement des fichiers (RVT, JSON…).

clip_image005[4]

    Pour expliquer le concept, Augusto, propose un premier exemple qui permet de mettre à jour les paramètres d’un objet, d’un fichier stocké dans le cloud pour le retourner dans le même format.

clip_image007[4]

    L’exemple est disponible ici.

    Vous trouvez ci-dessous quelques définitions importantes de la technologie Design Automation.

AppBundle : contient le code (dll) qui va être utilisé par Design Automation, il s’agit en fait des plugins web des quatre applications. Le langage de développement de ces plugins dépend des applications mais on retrouve généralement ces langages de programmation :

clip_image009[4]

Activity : définit comment le code doit être exécuté.

clip_image011[4]

Workitem : c’est l’exécution du process (AppBundle + Activity).

clip_image013[4]

2- Gestion des fichiers :

    Comme nous l’avons vu dans le chapitre précédent, dans le processus de Design Automation, les fichiers doivent disposer d’un espace cloud protégé avec les droits d’accessibilité pour effectuer des opérations.

Ci-dessous vous trouverez de nombreux espaces de stockage cloud compatibles avec la solution :

clip_image015[4]

    Comme vous pouvez le supposer, les formats de fichiers pris en charge par Design Automation sont ceux qui sont pris en charge par les différents moteurs (DWG, RVT, IPT, MAX), pour le moment le format IFC est à l’étude.

    Pour illustrer cette partie, Augusto, propose un deuxième exemple qui permet à partir d’Autodesk BIM 360 Docs d’upgrader des fichiers Autodesk Revit de la version 2018 en version 2019.

clip_image017[4]

Nota : cette fonctionnalité ci-dessus a été introduite lors de la sortie de la version Autodesk Revit 2019.2 (voir ici point n°3).

    L’exemple et le code sont disponible ici.

    Ensuite, pour lancer la procédure de traitement, Design Automation utilise des « Webhooks », qui lui notifie qu’un événement a eu lieu ; comme par exemple la dépose d’un fichier dans un espace du cloud.

    Pour le troisième exemple, Augusto, nous montre comment les évènements sont déclenchés par la dépose de fichiers dans l’espace de stockage BIM 360 Docs :

clip_image019[4]

    Soit le process illustré ci-dessous :

clip_image021[4]

    L’exemple et le code sont disponibles ici.

Nota important : c’est un travail séquentiel, cela veut dire que l’on ne peut pas modifier le fichier origine tant qu’il n’a pas été traité par Design Automation en batch.

    Dans un quatrième exemple, Augusto, nous présente un workflow plus complexe en utilisant deux moteurs pour effectuer la conversion d’un fichier Inventor en un fichier Revit. Une fois le fichier déposé sur BIM 360 Docs, le moteur web Inventor transforme le format du fichier en format SAT, puis à l’aide du moteur Web de Revit, le SAT est transformé en format RFA.

clip_image023[4]

    Soit le process illustré ci-dessous :

clip_image025[4]

    L’exemple et le code est disponible ici.

    A des fins de sécurité, Design Automation fonctionne dans un environnement de type « sandbox ».

Rappels importants :

    Je vous conseille de suivre la présentation de Gustavo car il y a plein de petits détails et surtout, vous bénéficierez des réponses aux questions posées à cette occasion.

    Pour ceux qui veulent aller plus loin, vous trouverez ici la documentation de Design Automation, ici des exemples issus du site GITHUB bien connu des développeurs.

Abonnement e-mail