为什么我要学习FusionAPI
前段时间在研究使用Fusion360进行参数化建模,然后通过对想要表达的模型进行参数的完全定义,确实是实现了一个参数化。不过发现了通过软件本身的图形界面操作存在着局限性,就比如想要生成一个蜂窝状的镂空,那就不得不借助一些“插件”。同时我的一些小伙伴给我展示了Rhino里面gh的近乎魔法一般的操作。
所以处于同样对力量的渴望参数化更加深入的向往,于是决定开始学习FusionAPI。很快就发现自己很多都不懂,毕竟没什么编程基础,但是已经决定要去探索一番,所以就开坑了。
什么是FusionAPI
从字面上看来,就是Fusion360的API,应用程序编程接口。所以就是可以在已有的API上面,做一个开发,完成一些比较复杂的功能。
我在看官方的视频(墙)的时候,是这么描述FusionAPI的:首先针对Fusion360有一个Fusion engine,可以从A360或者硬盘中读取模型数据(F3D),然后通过Fusion engine的加工,输出到GUI。就比如一个拉升的操作,其实就是调用了一个extrude request。
所以你在GUI里面看到的是这个样子
在程序界面里面就是这个样子了
于是我很粗浅的将Fusion engine 理解成 Fusion API,我就可以同样通过调用一次这个API,完成拉升。那我也可以调用100次,那就完成100次的拉升,只要我点一下。想想还是很刺激的。
用什么去编写Fusion API
目前有3种语言可以开发: JavaScript、python 、 C++。运行速度最慢的是JavaScript,python要比JavaScript快20-200倍,C++最快。
所以, life is short , I choose python.(实际上是懂一点点和一点不懂之间的选择)
同时python有非常庞大的第三方库,我觉得这个可以使得Fusion API 有着无穷的潜力,要是可以吧tensorflow引入调模型参数,也不知道会发生什么不得了的事情。
输出一个Hello World
如果要实现Hello World,首先我们得找到“入口”
点进去之后就可以看到很多Scripts,一些已经弄好的范例脚本。这时候我们点击Create。
这个时候我们创建一个脚本,选择python。
这时候就创建成功了,然后点击Edit,就会进入程序界面。不过要注意一点就是这个时候会给安装一个spyder,也就是Fusion360 API用的编译器,第一次用要等待一段时间下载安装。
然后就会弹出spyder,这个时候就可以看到程序界面了,只需要把Hello script改成Hello world,在按F5 run一下就可以了。
Hello World
当然,Hello World这个只是一个ui上的一个操作,如果想要完成一些具体对模型操作,还是要看相关的示例代码还有阅读文档。
初学者的资料
关于Fusion360 API的资料的中文资料真的是寥寥无几,但是我发现了一个大大的博客 http://blog.csdn.net/autodeskinventorapi 还可以直接发邮件给他,非常有爱的大大。
API文档 http://help.autodesk.com/view/fusion360/ENU/?guid=GUID-A92A4B10-3781-4925-94C6-47DA85A4F65A (这个我一开始还没找到,藏的比较深。)
15年Fusion hackathon的视频资料 https://pan.baidu.com/s/1eUaW0i2
由于被墙了,我就顺手搬运了一下。感觉还是说的非常好的。
官方论坛 https://forums.autodesk.com/t5/fusion-360-api-and-scripts/bd-p/22
目前中文论坛上貌似还没有这个关于API的板块
还是非常希望能够有小伙伴可以一起研究研究,共同成长。
网友评论