3D打印的發(fā)展受益于軟、硬件的開(kāi)源運(yùn)動(dòng)及互聯(lián)網(wǎng)的文件共享,出現(xiàn)了很多開(kāi)源免費(fèi)的3D打印控制軟件,比如Cura、KiSSlicer、OctoPrint、Make-me等,在眾多開(kāi)源軟件中Repetier-Host是一個(gè)易用性強(qiáng)而且功能強(qiáng)大的3D打印控制軟件,它在中國(guó)的用戶(hù)有很多。
本文的主要工作為:1.研究Repetier-Host 0.90版本的源碼。整體上從編譯環(huán)境搭建、功能研究、軟件架構(gòu)及命名空間上分析代碼。然后按打印預(yù)處理、切片及G-code處理、打印機(jī)、其他功能四大類(lèi)模塊再具體分析其實(shí)現(xiàn)細(xì)節(jié)。
2.添加模型文件格式轉(zhuǎn)換功能。3D模型文件的格式有很多種,但是Repetier-Host支持的主要格式是STL、OBJ和3DS,為了使更多其他格式的模型文件可以被Repetier-Host處理,本文利用Assimp.Net庫(kù)對(duì)其他格式的模型文件進(jìn)行格式轉(zhuǎn)換,從而擴(kuò)展Repetier-Host處理模型文件的格式范圍。
3.添加模型修復(fù)功能。在進(jìn)行模型打印之前,有必要對(duì)模型進(jìn)行錯(cuò)誤檢查,并修復(fù)這些可能引起打印失敗的缺陷。雖然Repetier-Host本身已經(jīng)有一些比較簡(jiǎn)單的修復(fù),但為了加強(qiáng)Repetier-Host錯(cuò)誤修復(fù)的能力,本文又利用Slic3r的修復(fù)功能來(lái)做進(jìn)一步的模型修復(fù)。
4.把MeshLab集成到了Repetier-Host中。在模型的建立中,激光掃描是一種常見(jiàn)的方式,而MeshLab可以對(duì)3D掃描后的模型進(jìn)行表面重建和模型編輯,所以本文把開(kāi)源的MeshLab集成到Repetier-Host中,以提供一個(gè)比較全面的工具鏈。
5.添加CuraEngine切片程序并分析其源代碼。切片技術(shù)是3D打印中的關(guān)鍵技術(shù)之一,而研究一個(gè)切片程序的源代碼對(duì)于理解切片技術(shù)有很大的幫助。CuraEngine是Cura中使用的模型切片程序,它是一款獨(dú)立的開(kāi)源C++控制臺(tái)程序,不僅能集成在Cura中,也可以集成到其他的3D打印控制軟件中,它可以對(duì)保存在STL文件中的模型進(jìn)行分層切片,并生成打印機(jī)可以接收的G-code指令代碼文件。Repetier-Host是用C#語(yǔ)言編寫(xiě)的,所以它可以運(yùn)行在.Net及Mono環(huán)境中,本文中使用的環(huán)境是.Net,其中會(huì)涉及OpenTK庫(kù)、Slic3r軟件及SkeinForge軟件。OpenTK庫(kù)是Repetier-Host進(jìn)行模型三維顯示時(shí)使用的庫(kù),而Slic3r和SkeinForge是Repetier-Host內(nèi)部集成的第三方切片處理軟件,在本文中會(huì)對(duì)它們進(jìn)行更為詳細(xì)的介紹。對(duì)源碼的研究總是受益匪淺的,而對(duì)Repetier-Host源碼的研究的價(jià)值就在于,可以清楚的看到其內(nèi)部的層次結(jié)構(gòu)和軟件框架,學(xué)習(xí)并掌握其使用的技術(shù)與技巧,也可以為后期二次開(kāi)發(fā)做準(zhǔn)備,還可以為重新編寫(xiě)3D打印控制軟件做一個(gè)參考。
作者:崔海森 |
|
你可能喜歡
拓竹Bambu Lab A1 mini測(cè)評(píng):這臺(tái)3D打印機(jī)
變廢為寶:通過(guò)固相制造將鋁廢料轉(zhuǎn)化為3D打
新突破:基于聲波的3D打印技術(shù)——全息直聲
一篇帶你讀懂:金屬3D打印在航空航天領(lǐng)域的
推薦課程
神奇的3D打印
SLA3D打印工藝全套培訓(xùn)課程 - 軟件篇
3D打印月球燈視頻教程 包括完整貼圖建模流
【原創(chuàng)發(fā)布】Cura軟件修改二次開(kāi)發(fā)定制視頻