3D打印的發(fā)展受益于軟、硬件的開源運動及互聯網的文件共享,出現了很多開源免費的3D打印控制軟件,比如Cura、KiSSlicer、OctoPrint、Make-me等,在眾多開源軟件中Repetier-Host是一個易用性強而且功能強大的3D打印控制軟件,它在中國的用戶有很多。
本文的主要工作為:1.研究Repetier-Host 0.90版本的源碼。整體上從編譯環(huán)境搭建、功能研究、軟件架構及命名空間上分析代碼。然后按打印預處理、切片及G-code處理、打印機、其他功能四大類模塊再具體分析其實現細節(jié)。
2.添加模型文件格式轉換功能。3D模型文件的格式有很多種,但是Repetier-Host支持的主要格式是STL、OBJ和3DS,為了使更多其他格式的模型文件可以被Repetier-Host處理,本文利用Assimp.Net庫對其他格式的模型文件進行格式轉換,從而擴展Repetier-Host處理模型文件的格式范圍。
3.添加模型修復功能。在進行模型打印之前,有必要對模型進行錯誤檢查,并修復這些可能引起打印失敗的缺陷。雖然Repetier-Host本身已經有一些比較簡單的修復,但為了加強Repetier-Host錯誤修復的能力,本文又利用Slic3r的修復功能來做進一步的模型修復。
4.把MeshLab集成到了Repetier-Host中。在模型的建立中,激光掃描是一種常見的方式,而MeshLab可以對3D掃描后的模型進行表面重建和模型編輯,所以本文把開源的MeshLab集成到Repetier-Host中,以提供一個比較全面的工具鏈。
5.添加CuraEngine切片程序并分析其源代碼。切片技術是3D打印中的關鍵技術之一,而研究一個切片程序的源代碼對于理解切片技術有很大的幫助。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內部集成的第三方切片處理軟件,在本文中會對它們進行更為詳細的介紹。對源碼的研究總是受益匪淺的,而對Repetier-Host源碼的研究的價值就在于,可以清楚的看到其內部的層次結構和軟件框架,學習并掌握其使用的技術與技巧,也可以為后期二次開發(fā)做準備,還可以為重新編寫3D打印控制軟件做一個參考。
作者:崔海森 |
|
你可能喜歡
開源3D建模軟件FreeCAD 1.0正式發(fā)布,支持W
人工智能與3D打印技術結合,實現小型核反應
最新《Nature》:動態(tài)界面3D打印
石墨烯增強混凝土能否推動可持續(xù)建筑? UVA
推薦課程
神奇的3D打印
SLA3D打印工藝全套培訓課程 - 軟件篇
3D打印月球燈視頻教程 包括完整貼圖建模流
【原創(chuàng)發(fā)布】Cura軟件修改二次開發(fā)定制視頻