用Android设备调用CuraEngine对3D打印进行切片

   日期:2020-10-07     浏览:152    评论:0    
核心提示:CuraEngine到Android移植1、打开Android studio,新建c++工程。2、将引擎所以源码导入.\app\src\main\cpp中。(引擎源码最好通过git clone下载)3、修改cmkelists,首先将两个中间件protobuf和arcus去掉。然后将生成exe去掉。具体如图将clipper编译成动态库。将其他所有源码编译成动态库。连接上述两个库。再连接多线程。编译native-lib动态库。连接到源码库。分别连接log-lib库。4、添加

用Android设备调用CuraEngine

1、打开Android studio,新建c++工程。
2、将引擎所以源码导入.\app\src\main\cpp中。(引擎源码最好通过git clone下载)
3、修改cmkelists,首先将两个中间件protobuf和arcus去掉。然后将生成exe去掉。具体如图

将clipper编译成动态库。

将其他所有源码编译成动态库。

连接上述两个库。


再连接多线程。

编译native-lib动态库。

连接到源码库。

分别连接log-lib库。

4、添加读写sd卡文件的权限:
首先在AndroidManifest.xml中添加读写文件的静态权限。

其次在mainactivity.java中添加读写文件动态权限。代码有些长,如何添加可百度。
5、添加c++共享库:
在build.gradle中添加如下代码,用来生成c++共享库。

6、在native-lib.cpp中写jni接口。
将源码中的main.cpp代码移植到此cpp中,导入相应头文件,将main函数改为无参函数,具体参数在main函数中直接赋值,具体做法如图所示:

其中上图最下面一行为引擎源码提供的接口,经过上述赋值后,要将myargv强制转换成char**。
7、拼接命令行。
命令行中具体参数含义要搞清楚,可以在引擎官网查看。其中需要两个json配置文件,要打印模型的stl文件。需要四个路径(两个json文件所在路径,stl文件所在路径,输出gcode路径),其路径均为android上路径,因此android上存储文件的路径要弄明白。我的路径命令行为:{“a”, “slice”, “-v”, “-j”,"/mnt/sdcard/Android/data/com.example.myapplication/definitions/fdmprinter.def.json", “-v”, “-j”, “/mnt/sdcard/Android/data/com.example.myapplication/definitions/fdmextruder.def.json”,"-o", “/mnt/sdcard/Android/data/com.example.myapplication/output/test2.gcode”,"-e1","-l", “/mnt/sdcard/Android/data/com.example.myapplication/stl/aixin.STL”}
最后所编译出来的库有:

在编译过程源码有可能出现错误,按提示修改即可。(源码总体上不用修改太多)
可以通过log重定向,将引擎中的log输出连接到Android上,可以查看打印过程。具体成功截图:







PS:第一次写博客,水平有限,有什么问题可以联系本尊,扣扣:1335823306,谢谢!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服