Programmer Fusion 360

par | Jun 7, 2018 | API Fusion 360

On peut ajouter des fonctionnalités à Fusion 360 grâce à son A.P.I ( Application Programming Interface )
Une API est le moyen par lequel un logiciel en accède à un autre.

On peut programmer des fonctionnalités pour l’API de fusion 360 en Python, Javascript ou C++

Les langages Javascript et Python sont des langages interprétés, le langage C++ est plus complexe c’est également un langage compilé.
Il est préférable de choisir de faire des script en Python, le Javascript peut interagir avec des pages Web mais il ne peut pas accéder aux fichiers et il est aussi beaucoup plus lent que Python.

Programmer Fusion 360 avec Python

I ) Démarrer la console pour taper des commandes Python

Python est un langage interprété, vous pouvez tapez des commandes et directement voir le résultat dans la console.

II ) Préparer son premier script Python

Lorsque vous éditez un script, un environnement de développement « Spider » démarre.

Toutes les commandes de fusion 360, dessiner un cercle, extruder … peuvent être programmés pas des fonctions disponibles via l’API

III ) Premier script python

Lorsque vous éditez votre premier script python les premières lignes sont déjà présentes

import adsk.core, adsk.fusion, adsk.cam, traceback

Il s’agit d’importer les fonctions internes de Fusion 360, si votre script n’utilise pas le module CAM vous pouvez effacer adsk.com

def run(context):
       ui = None
       try:
       app = adsk.core.Application.get()
       ui = app.userInterface
       product = app.activeProduct
       design = adsk.fusion.Design.cast(product)

Ce script permet de créer un document, product = app.activeProduct indique que ont va se mettre dans le workspace utilisé actuellement c’est à dire « model »

# On se met à la racine du document actif.
        rootComp = design.rootComponent

# Creation d'une nouvelle esquisse dans le plan xy.
       sketches = rootComp.sketches;
       xyPlane = rootComp.xYConstructionPlane
       sketch = sketches.add(xyPlane)
       sketch.name="Ma première esquisse"

        ligne = sketch.sketchCurves.sketchLines
# Faire un rectangle avec deux points.

                 rectangle = ligne.addTwoPointRectangle(adsk.core.Point3D.create(4, 0, 0), adsk.core.Point3D.create(7, 2, 0))

# Pour que fusion indique qu’il y a une erreur dans le programme
except:
         if ui:
              ui.messageBox(‘Failed:\n{}’.format(traceback.format_exc()))