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