Rayland-FDM打印機C200介紹
本篇主要介紹Rayland-FDM
打印機 C200
App介紹以及軟件結構。
Rayland-FDM 打印機 C200
FDM:Fused Deposition Modeling
熔融沈積成型法
FDM打印文件:STL文件,Gcode文件,x3g文件
熔融沈積模型
a) 通過加熱的移動頭
b) 供給,熔化並擠出,逐層沈積,形成期望的形狀
c) 移動平臺
e) 在每層沈積之後降低。對於這種3D打印技術,需要額外的垂直支撐結構
d) 來維持懸垂部分
FDM APP源碼Git :// 當然保密了
FDM Library源碼Git://
APP主要界面
主界面
從左到右,從上到下依次為
X軸當前坐標(mm),Y軸當前坐標(mm),Z軸當前坐標(mm),是否鎖住電機(空閑狀態)
打印速度設置(%),風扇速度設置(%),燈光亮度設置(%),熱床溫度設置(°C)
擠出頭1溫度設置,擠出頭2溫度設置
(熱床、擠出頭1、2點擊圖標設置溫度,點擊後方條形框查看30s內溫度變化)
(最多支持4個擠出頭)
移動界面
左側
控制電機以及擠出頭運動,電機-∞
和+∞
對應這min
和max
處碰撞開關。擠出頭-∞
和+∞
對應著進出料。
右側
可以控制擠出頭到達左上
、右上
、左下
、右下
四個位置(擠出頭和X,Y軸電機)(移動距離由機器設置中設置的對應軸長運算得出)
HOME
可以自動歸為起始位置
AUTO
自動調零 暫無
在線下載界面
讀取本地文件界面
支持 x3g
,Gcode
,stl
文件。支持離線解析stl
攝像頭界面
支持外置USB攝像頭
機器設置
打印機常用的參數設置
x軸為例 如:驅動電壓
、零點坐標
、軸長
、碰撞開關位置
等
機器設置
包括離線更新APK、WIFI設置、修改用戶名密碼、還原系統設置、個性logo設置等
APP 目錄結構
assets
用於本地切片得默認配置文件fdmprinter.json
,默認機器設置文件machine.txt
,以及用於gcode預覽的js文件和html文件
cn.rayland.pro_3d
應用包,按照UI結構劃出多個子目錄
base.App:
FDM打印機
、異常捕獲
、SharePreference
等初始化設置base.MachineStateBroadcastService:
post
事件 <EventBus.jar>camera:
攝像頭Fragemnt,UVCCamera
使用UVC驅動外置攝像頭 <libuvccamera.jar>homepage:
主頁Fragmentlocal:
本地Fragement,加載本地stl
,gcode
,x3g
文件,以及stl
切片
本地切片見3dLibrary.jar - cn.rayland.utils.ConvertUtils stlToGcodeByLocal()
machine_config:
機器設置Fragmentmovement:
移動Fragmentonline:
在線下載Fragmentsys_config:
系統設置Fragmentrender.stl:
stl
模型預覽以及相關操作
recyclerview
recyclerview
相關組件
update
應用更新相關類,U盤、sd卡檢測是否有新版本APK,有則更新
Library.jar結構
android_erialport_api
串口通信相關
cn.rayland.api
jni相關類
cn.rayland.library.bean
可復用bean
cn.rayland.library.sqlite
sqlite數據庫相關
cn.rayland.library.stm32
stm32通信相關
cn.rayland.library.utils
工具類
libcore.io
stm32通信引用的核心庫
libcore.util
stm32通信引用的核心庫
Library.jar 主要接口
/**
* machine 對象
*/
public volatile Machine machine;
/**
* 構造函數 初始化
* @param context Context
* @return
*/
MachineManager getInstance(Context context);
/**
* 執行FileTask任務
* @param task FileTask
* @param ifReset 是否搶占
*/
void sendTask(final FileTask task, final boolean ifReset);
/**
* 執行GcodeTask任務
* @param task gcode指令
* @param ifReset 是否搶占
*/
void sendTask(final GcodeTask task, final boolean ifReset);
/**
* 插入Gcode命令
* @param gcode 通常用於速度等參數的設置
*/
void insertCommand(String gcode);
/**
* 取消打印
*/
void cancel();
/**
* 暫停打印
*/
void pause();
/**
* 恢復打印
*/
void resume();
/**
* 是否有暫停的任務
*/
hasPausedTask();
/**
* 保存上一次執行完的文件,保存為x3g格式
* @param dirPath
* @param fileName
*/
Machine getMachineConfig();
/**
* 設置機器參數
* @param configFilePath 文件路徑
*/
boolean setCustomMachineConfig (String configFilePath);
/**
* 獲取當前機器狀態
* @return
*/
MachineState getMachineState();
Rayland-FDM打印機C200介紹