A Small Rant about the Fusion360 Python API

A Small Rant about the Fusion360 Python API

apocalip
Contributor Contributor
527 Views
2 Replies
Message 1 of 3

A Small Rant about the Fusion360 Python API

apocalip
Contributor
Contributor

// rant on

sorry to rant like this, but i'm really wondering if there is something wrong with me or if other people have the same experience.

 

I've been a developer for 10+ years, mostly PHP, but did plenty of Python, JavaScript, C Varieties, etc. in that time.

 

In my spare time i love to make and build stuff and regularily use Fusion360 to create CAD Models, mostly for 3D Printing, but other stuff as well..

 

I'm also paying for my Fusion360 because i've got way to many Files for the Free Variant.

 

Any time i have an idea that i'd love to create a AddIn or Script for i'm tripping over countless stumbling blocks instead of getting anything done.

 

To be honest the API feels like a demented monkey, that sits in front of the Fusion360 GUI and as a developer you have to try to maneuver that monkey blindfolded to interact with that gui to get done what you want.

 

This API feels like someone wanted to spit the "Zen of Python" in the face.

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

 // rant off

 

Sorry, but at this point i have a real love/hate relationship with Fusion360, i love it for many things, but trying to get something done in AddIns to improve it simply brings my blood to boil.

 

Cheers

0 Likes
528 Views
2 Replies
Replies (2)
Message 2 of 3

zach.allaun
Advocate
Advocate

To my knowledge, the Python API is auto-generated from the C++ API using SWIG, which is what actually interfaces directly with Fusion. Much of the Python API just returns proxies to the underlying SWIG objects. That's to say: you're right, the API is not very Pythonic, because it's a C++ API that's just been made accessible from Python. 😃

Message 3 of 3

Julie_7
Advocate
Advocate
The free license for Fusion 360 has no limit on the number of designs. It only limits the number that are concurrently in the editable state. You can even open read only designs along with others without any issues.
I frequently have to change the designs that I am not working on to read only to stay below the max editable documents.
0 Likes