{"id":32322,"date":"2018-06-07T18:30:26","date_gmt":"2018-06-07T16:30:26","guid":{"rendered":"http:\/\/www.makerslide-machines.xyz\/?p=32322"},"modified":"2022-08-22T08:39:16","modified_gmt":"2022-08-22T06:39:16","slug":"programmer-fusion-360","status":"publish","type":"post","link":"http:\/\/www.makerslide-machines.xyz\/old\/2018\/06\/07\/programmer-fusion-360\/","title":{"rendered":"Programmer Fusion 360"},"content":{"rendered":"<p>[:en][et_pb_section bb_built=\u00a0\u00bb1&Prime;][et_pb_row][et_pb_column type=\u00a0\u00bb4_4&Prime;][et_pb_post_title _builder_version=\u00a0\u00bb3.4.1&Prime; comments=\u00a0\u00bboff\u00a0\u00bb featured_image=\u00a0\u00bboff\u00a0\u00bb \/][et_pb_text _builder_version=\u00a0\u00bb3.4.1&Prime;]<\/p>\n<p>On peut ajouter des fonctionnalit\u00e9s \u00e0 Fusion 360 gr\u00e2ce \u00e0 son <strong>A.P.I<\/strong> ( <em><strong>A<\/strong>pplication <strong>P<\/strong>rogramming <strong>I<\/strong>nterface<\/em> )<br \/>Une <strong>API<\/strong> est le moyen par lequel un logiciel en acc\u00e8de \u00e0 un autre.<\/p>\n<p>On peut programmer des fonctionnalit\u00e9s pour l&rsquo;API de fusion 360 en Python, Javascript ou C++<\/p>\n<h3><span style=\"text-decoration: underline;\"><strong><span style=\"color: #ff0000; text-decoration: underline;\">Programmer Fusion 360 avec Python<\/span><\/strong><\/span><\/h3>\n<p><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff;\"><a style=\"color: #0000ff; text-decoration: underline;\" href=\"https:\/\/www.youtube.com\/playlist?list=PL0qHSH9_1qY7D_QHYxBU4yvSiIT26NUzH\">Les tutos de LeBearCNC<\/a><\/span><\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][:fr][et_pb_section bb_built=\u00a0\u00bb1&Prime;][et_pb_row][et_pb_column type=\u00a0\u00bb2_3&Prime;][et_pb_post_title _builder_version=\u00a0\u00bb3.4.1&Prime; comments=\u00a0\u00bboff\u00a0\u00bb featured_image=\u00a0\u00bboff\u00a0\u00bb \/][et_pb_text _builder_version=\u00a0\u00bb3.4.1&Prime;]<\/p>\n<p>On peut ajouter des fonctionnalit\u00e9s \u00e0 Fusion 360 gr\u00e2ce \u00e0 son <strong>A.P.I<\/strong> ( <em><strong>A<\/strong>pplication <strong>P<\/strong>rogramming <strong>I<\/strong>nterface<\/em> )<br \/>Une <strong>API<\/strong> est le moyen par lequel un logiciel en acc\u00e8de \u00e0 un autre.<\/p>\n<p>On peut programmer des fonctionnalit\u00e9s pour l&rsquo;API de fusion 360 en Python, Javascript ou C++<\/p>\n<p>Les langages Javascript et Python sont des langages interpr\u00e9t\u00e9s, le langage C++ est plus complexe c&rsquo;est \u00e9galement un langage compil\u00e9.<br \/>Il est pr\u00e9f\u00e9rable de choisir de faire des script en Python, le Javascript peut interagir avec des pages Web mais il ne peut pas acc\u00e9der aux fichiers et il est aussi beaucoup plus lent que Python.<\/p>\n<h3><span style=\"text-decoration: underline;\"><strong><span style=\"color: #ff0000; text-decoration: underline;\">Programmer Fusion 360 avec Python<\/span><\/strong><\/span><\/h3>\n<p><span style=\"text-decoration: underline; font-size: 12pt;\"><span style=\"color: #0000ff;\"><strong>I ) D\u00e9marrer la console pour taper des commandes Python<\/strong><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-32354 alignleft\" src=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/demarrer-la-console.jpg\" alt=\"\" width=\"352\" height=\"448\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-32355 size-full\" src=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/console-python.jpg\" alt=\"\" width=\"464\" height=\"234\" \/><\/p>\n<p>Python est un langage interpr\u00e9t\u00e9, vous pouvez tapez des commandes et directement voir le r\u00e9sultat dans la console.<\/p>\n<p><strong><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\">II ) Pr\u00e9parer son premier script Python<\/span><\/span><br \/><\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-32328 size-full\" src=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/script-python.jpg\" alt=\"\" width=\"645\" height=\"616\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-32365 size-full\" src=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/edit-script.jpg\" alt=\"\" width=\"361\" height=\"363\" \/><\/p>\n<p>Lorsque vous \u00e9ditez un script, un environnement de d\u00e9veloppement \u00ab\u00a0<strong>Spider<\/strong>\u00a0\u00bb d\u00e9marre.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-32366 size-full\" src=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/spyder.jpg\" alt=\"\" width=\"863\" height=\"549\" \/><\/p>\n<p><span style=\"text-decoration: underline; color: #800000;\"><strong>Toutes les commandes de fusion 360, dessiner un cercle, extruder &#8230; peuvent \u00eatre programm\u00e9s pas des fonctions disponibles via l&rsquo;API<\/strong><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-32368 size-full\" src=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/api-ui.jpg\" alt=\"\" width=\"810\" height=\"557\" \/><\/p>\n<p><strong><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\">III ) Premier script python<\/span><\/span><br \/><\/strong><\/p>\n<p>Lorsque vous \u00e9ditez votre premier script python les premi\u00e8res lignes sont d\u00e9j\u00e0 pr\u00e9sentes<\/p>\n<p><code><span style=\"background-color: #ffff99;\">import adsk.core, adsk.fusion, adsk.cam, traceback<\/span><\/code><\/p>\n<p>Il s&rsquo;agit d&rsquo;importer les fonctions internes de Fusion 360, si votre script n&rsquo;utilise pas le module CAM vous pouvez effacer <strong>adsk.com<\/strong><\/p>\n<p><code><span style=\"background-color: #ffff99;\">def run(context):<\/span><\/code><br \/><span style=\"background-color: #ffff99;\"><code><span style=\"background-color: #ffff99;\"><span style=\"background-color: #ffffff;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"background-color: #ffff99;\">ui = None<\/span><\/span><\/span><\/code><\/span><br \/><span style=\"background-color: #ffff99;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"background-color: #ffff99;\">try:<\/span><\/code><\/span><br \/><span style=\"background-color: #ffff99;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"background-color: #ffff99;\">app = adsk.core.Application.get()<\/span><\/code><\/span><br \/><span style=\"background-color: #ffff99;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"background-color: #ffff99;\">ui = app.userInterface<\/span><\/code><\/span><br \/><span style=\"background-color: #ffff99;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"background-color: #ffff99;\">product = app.activeProduct<\/span><\/code><\/span><br \/><span style=\"background-color: #ffff99;\"><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"background-color: #ffff99;\">design = adsk.fusion.Design.cast(product)<\/span><\/code><\/span><\/p>\n<p>Ce script permet de cr\u00e9er un document, <span style=\"background-color: #ffff99;\"><em>product = <code><span style=\"background-color: #ffff99;\">app.activeProduct<\/span><\/code><\/em><\/span> indique que ont va se mettre dans le workspace utilis\u00e9 actuellement c&rsquo;est \u00e0 dire \u00ab\u00a0model\u00a0\u00bb<\/p>\n<pre class=\"api-code\"><code><span style=\"background-color: #ffff99;\"># On se met \u00e0 la racine du document actif.\r\n        rootComp = design.rootComponent<\/span><\/code><\/pre>\n<p><code><span style=\"background-color: #ffff99;\"># Creation d'une nouvelle esquisse dans le plan xy.<\/span><\/code><br \/><code><span style=\"background-color: #ffff99;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sketches = rootComp.sketches;<\/span><\/code><br \/><code><span style=\"background-color: #ffff99;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xyPlane = rootComp.xYConstructionPlane<\/span><\/code><br \/><code><span style=\"background-color: #ffff99;\">\u00a0\u00a0\u00a0\u00a0 \u00a0 sketch = sketches.add(xyPlane)<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sketch.name=\"Ma premi\u00e8re esquisse\"<\/span><\/code><\/p>\n<pre class=\"api-code\"><span style=\"background-color: #ffff99;\">        ligne = sketch.sketchCurves.sketchLines<\/span><\/pre>\n<pre class=\"api-code\"># Faire un rectangle avec deux points.<\/pre>\n<p><span style=\"background-color: #ffff99;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 rectangle = ligne.addTwoPointRectangle(adsk.core.Point3D.create(4, 0, 0), adsk.core.Point3D.create(7, 2, 0))<\/span><\/p>\n<p># Pour que fusion indique qu&rsquo;il y a une erreur dans le programme<br \/><span style=\"background-color: #ffff99;\">except:<\/span><br \/><span style=\"background-color: #ffff99;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if ui:<\/span><br \/><span style=\"background-color: #ffff99;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ui.messageBox(&lsquo;Failed:\\n{}&rsquo;.format(traceback.format_exc()))<\/span><\/p>\n<p>&nbsp;<\/p>\n<pre class=\"api-code\">\u00a0<\/pre>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_3&Prime;][et_pb_text _builder_version=\u00a0\u00bb3.4.1&Prime;]<\/p>\n<p><span style=\"text-decoration: underline; font-size: 14pt; color: #ff0000;\"><strong>Ressources sur le web<\/strong><\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff;\"><a style=\"color: #0000ff; text-decoration: underline;\" href=\"https:\/\/www.youtube.com\/playlist?list=PL0qHSH9_1qY7D_QHYxBU4yvSiIT26NUzH\">Les tutos de LeBearCNC<\/a><\/span><\/span><\/p>\n<p><a href=\"https:\/\/www.udemy.com\/develop-an-app-for-3d-design-automation-in-fusion-360\/learn\/v4\/overview\"><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\">Programmer Fusion 360 pour automatiser la conception<\/span><\/span><\/a> (cours gratuit Udemy )<\/p>\n<p><a href=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/Fusion-360-api-model-object.pdf\"><span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\">API Model Object<\/span><\/span><\/a><\/p>\n<p><a href=\"http:\/\/www.makerslide-machines.xyz\/wp-content\/uploads\/2018\/06\/Customizing-Fusion-360-with-api.pdf\"><span style=\"color: #0000ff;\"><span style=\"text-decoration: underline;\">Customizing Fusion 360 with API<\/span><\/span><\/a><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][:]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[:en][et_pb_section bb_built=\u00a0\u00bb1&Prime;][et_pb_row][et_pb_column type=\u00a0\u00bb4_4&Prime;][et_pb_post_title _builder_version=\u00a0\u00bb3.4.1&Prime; comments=\u00a0\u00bboff\u00a0\u00bb featured_image=\u00a0\u00bboff\u00a0\u00bb \/][et_pb_text _builder_version=\u00a0\u00bb3.4.1&Prime;] On peut ajouter des fonctionnalit\u00e9s \u00e0 Fusion 360 gr\u00e2ce \u00e0 son A.P.I ( Application Programming Interface )Une API est le moyen par lequel un logiciel en acc\u00e8de \u00e0 un autre. On peut programmer des fonctionnalit\u00e9s pour l&rsquo;API de fusion 360 en Python, Javascript ou C++ Programmer Fusion [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[120],"tags":[],"class_list":["post-32322","post","type-post","status-publish","format-standard","hentry","category-api-fusion-360"],"_links":{"self":[{"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/posts\/32322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/comments?post=32322"}],"version-history":[{"count":16,"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/posts\/32322\/revisions"}],"predecessor-version":[{"id":32418,"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/posts\/32322\/revisions\/32418"}],"wp:attachment":[{"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/media?parent=32322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/categories?post=32322"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.makerslide-machines.xyz\/old\/wp-json\/wp\/v2\/tags?post=32322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}