1. 程式人生 > >Rayland-FDM打印機C200介紹

Rayland-FDM打印機C200介紹

界面 相關 turn 攝像頭 context 工具 cas ase epo

本篇主要介紹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個擠出頭)

移動界面

技術分享圖片

左側 控制電機以及擠出頭運動,電機-∞+∞對應這minmax處碰撞開關。擠出頭-∞+∞對應著進出料。

右側 可以控制擠出頭到達左上右上左下右下四個位置(擠出頭和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: 主頁Fragment

  • local:本地Fragement,加載本地 stl,gcode,x3g文件,以及 stl切片

本地切片見3dLibrary.jar - cn.rayland.utils.ConvertUtils stlToGcodeByLocal()

  • machine_config: 機器設置Fragment

  • movement: 移動Fragment

  • online: 在線下載Fragment

  • sys_config:系統設置Fragment

  • render.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介紹