2015年4月29日 星期三

SketchUp修改STL檔案的前置作業

STL檔,是以三角型為基礎,拼接出整個3D模型;因為以三角型為基礎,所以原本的四邊形、圓型或是其他的多邊形,都被強迫分割成一堆三角型組合在一起。因此,STL檔就算被讀入SketchUp,也因為線條混亂而變得難以修改。這題也是經常在討論板上被提起,但幾週之前我自己也沒有比較好的辦法。直到發現了 "FixIt 101" 這個Plug-in,才變得有可能可以把下載來的STL,整理得乾淨些。這樣也許就會比較容易修改計有的STL檔案了。以下用Prusa_i3_X_End_Motor.stl當作例子。

開始之前,請先自行安裝兩個Plug-in,還有MeshLab這個軟體。



到 http://www.thingiverse.com/thing:39889/#files 下載 Prusa_i3_X_End_Motor.stl

由於"su2stl" 這個Plug-In只支援文字模式的STL檔案,所以這邊先利用MeshLab來轉換二進位的STL檔案到文字模式的STL。

點選 File -> Import Mesh 來載入 Prusa_i3_X_End_Motor.stl

LeshLab詢問是否要偵測重複的線條。這邊直接點選OK就可以。

載入檔案後可以看到模型的預覽圖。不過沒有要在這邊修改模型,只是要另存成文字模式的STL。

點選 "File -> Export Mesh As..." 另存模型檔。

檔案格式當然要挑選 " *.stl "

下一個步驟裡面,要記取消勾選 "Binary encoding" ,這樣就會存成文字格式的STL檔。

接下來開啟 SketchUp,點選 "外掛程式 -> Import STL file",然後選取剛才轉存的文字格式STL檔案。

長度單位,一般都選 "Millimeters (mm)"。

載入的過程,會有進度秀在SketchUp的左下角。

載入完成後,SU2STL會有一個結果報告。這個檔案總共有1958個三角形組成,沒有失敗或是空的目標物出現。

載入之後的Prusa_i3_X_End_Motor,可以看到這個模型,真的都是一堆三角型組合出來的。這麼多線條,會讓模型的修改變得很棘手。接下來準備去除這些多餘的線條。

在模型任何位置連點滑鼠左鍵三下,把整個模型都選取起來。

再來點滑鼠右鍵,選用今天的主角 "FixIt 101"。

然後FixIt 101就辛勤得把模型上,多餘的線、面刪除。

乾淨的模型就出現啦~
終於可以開始動手修改了。

等等,有破面!!

順手拉一條線,把破面補起來。

同樣再呼叫 FixIt 101,修補破面的線條,也依靠它來去除。這樣這個模型就整理完畢了~

乾乾淨淨的模型檔,要修改起來就比較輕鬆了!學會這招,就不用瞪著人家設計的模型,卻無從下手修改。

SketchUp原生的功能實在是不夠用,有很多問題沒辦法處理。PlugIn雖然很多,但是到底有哪些功能,該怎麼用,也是需要很多時間去摸索。


後續:

馬上有神人陳昱廷老師分享了另一個專門處理類似問題的Plug-In
CleanUp³
有興趣的朋友可以趕快研究一下~~

Adrian Sung又介紹了另外兩款專門修補模型的軟體:Geomagic studio 跟 Materialise Magics

7 則留言:

  1. Sketchup make 2015版本的 Extension Warehouse 也有 SketchUp STL 就有 Import, 不知道是否同一個
    Import 建議選 Meters, 模型會很大, 按 [Ctrl]+[Z] 就能看全個模型, 很多微細地方的破線能改善,
    選 Millimeters 另一個問題是太細的位置, 放大會跟本看不到(破圖),而且畫圖也有限制,不能少於0.4半徑的圓,有圓/弧的交接也會破掉
    這些問題用 Meters 就完部解脫了 !
    最後 Export 也用Meters就能正常在切片軟體開啟 (算是制用bug吧, stl 檔沒有記錄線的尺寸 :P )

    回覆刪除
  2. 請問FixIt_101_v1.5.0.rbz要複製到哪個路徑下面,我試過Plug-in,但不行。

    回覆刪除
    回覆
    1. 視窗→偏好設定→擴展程式套件→安裝擴展程式
      我的SketchUp版本是 "SketchUp Make 15.3.330 32-位元"

      刪除
  3. 你好我將修改完的乾淨的圖用EXPORT STL FILE輸出後再重新IMPORT回來一次
    還是出現了一堆廢線 跟沒修改過一樣 請問這樣如何解決?

    回覆刪除
    回覆
    1. STL原本的設計就是必須用三角形來描述所有的型狀,所以一定會產生廢線。如果你希望能夠再次編輯這個模型,應該直接用SketchUP本身的存檔功能會比較理想。

      刪除
    2. 所以主要是利用這個方式來讓修補破面的工作更容易 而不是移除廢線嗎?

      刪除
    3. 這個方式可以移除廢線,但是你輸出成STL的過程中會再次產生廢線。

      刪除