如何修復(fù)3D打印用模型文件?
魔猴君 知識(shí)堂 3610天前
不知道您有沒有遇見過這樣的情況:好不容易設(shè)計(jì)好的3D文件,一加載到3D打印機(jī)機(jī)控軟件里就報(bào)錯(cuò)?別著急,這回魔猴網(wǎng)要給大家介紹三個(gè)免費(fèi)好用的3D文件修復(fù)工具,它們能幫助我們快速修復(fù)有問題的3D模型。推薦大家先下載并安裝這兩個(gè)軟件,然后接著往下看。
魔猴網(wǎng)
魔猴網(wǎng)的在線工具,能對(duì)3D模型進(jìn)行自動(dòng)檢測(cè),甚至自動(dòng)修復(fù)。使用非常簡單,來到云打印頁面,上傳模型后,即可得到3D模型的檢測(cè)信息,如果需要對(duì)模型進(jìn)行修復(fù),可到3D工具>自動(dòng)修復(fù),按照網(wǎng)頁提示,自動(dòng)完成修復(fù),這個(gè)適合一些相對(duì)簡單的錯(cuò)誤,并不能做到100%修復(fù),如果魔猴網(wǎng)的在線修復(fù)沒有解決,可以嘗試使用下面的幾個(gè)軟件;
Meshlab:
Meshlab可以打開和導(dǎo)出一些Netfabb不能處理的3D文件,并將它們轉(zhuǎn)換和導(dǎo)出成各種其他格式的3D文件,因此我們先來介紹它。
1. 導(dǎo)出合適格式的3D文件
在進(jìn)行單色3D打印時(shí),我們推薦采用STL或者OBJ格式的3D文件,這兩種格式應(yīng)該是所有的3D打印機(jī),不論是桌面型還是工業(yè)型都能夠支持的。而DAE、X3D、X3DB、WRL等格式也有很多3D打印機(jī)可以支持。
而在進(jìn)行全彩砂巖3D打印的時(shí)候,則最好采用DAE、WRL、X3D、X3DB或者X3D格式的3D文件。
如果你的文件格式不在這幾個(gè)被3D打印機(jī)支持的格式列表里,請(qǐng)嘗試用meshlab打開你的3D文件,然后導(dǎo)出成以上格式之一。
注:Meshlab支持打開和導(dǎo)入的3D文件格式有: PLY, STL, OFF, OBJ, 3DS, COLLADA, PTX, V3D, PTS, APTS, XYZ, GTS, TRI, ASC, X3D, X3DV, VRML, ALN
2. 導(dǎo)出合適大小的3D文件
另外,魔猴3D打印云服務(wù)只接受小于64M,少于1,000,000個(gè)三角面的3D模型。如果您的3D文件過大,或者三角面數(shù)過多,請(qǐng)您使用Meshlab軟件的“polygon reduction”(面數(shù)減少)功能來降低面數(shù)和文件大小。當(dāng)然,您也不能減得過低,因?yàn)闀?huì)影響模型質(zhì)量,同一模型不同面數(shù)的效果圖
如下:
(圖片源:shapeways)
在meshlab中減少面數(shù)的步驟是:
從菜單欄(menu)選擇Filters > Remeshing, simplification and construction > Quadratic Edge Collapse Detection。 你會(huì)看到下圖所示的選項(xiàng)框。如果你的模型是帶有材質(zhì)和顏色的,那么記得選Quadratic Edge Collapse Detection(with texture)來保持材質(zhì)和顏色在3D模型上對(duì)應(yīng)的位置。下面我來解釋一下這個(gè)選項(xiàng)框里的各項(xiàng)的含義。
Target number of faces(目標(biāo)面數(shù))---你想要最終將模型減少至____個(gè)面
Percentage reduction(減少百分比)---填寫介于0~1之間的數(shù)值
以上兩項(xiàng)二選一填寫即可。
Quality threshold(質(zhì)量閾值):Preserve Boundary of the mesh(保留網(wǎng)格邊界)輸入一個(gè)介于0~1的值;值越高,meshlab越努力保持住你的原始模型的外形,因此推薦保持默認(rèn)的最高值1
Preserve Normal (保留法線方向):建議勾選。勾選上之后meshlab就不會(huì)不小心弄反模型中有些面的發(fā)現(xiàn)方向了。
注意:如果你發(fā)現(xiàn)模型的法線確實(shí)有問題了,可以選擇Filter>Normals, Curvature and Orientation > Re-Orient all faces coherently來將模型的法線修復(fù)正常。(注意,只對(duì)流性(manifold)模型管用)。
Preserve Topology (保留拓?fù)浣Y(jié)構(gòu))在處理模型時(shí)盡量不改變模型的拓?fù)浣Y(jié)構(gòu)。
Optimal position of simplified vertices(保持簡化頂點(diǎn)處于最佳位置):建議勾選。
Planar simplification(平面簡化):建議勾選
Post-simplification cleaning (簡化后清理):建議勾選
Simplify only selected faces (只簡化選中的面):如果你想簡化整個(gè)模型,就不要選這一項(xiàng)了。
都選擇好了以后,點(diǎn)擊Apply(應(yīng)用),就可以了。
Meshlab還能用來查看全彩3D模型的材質(zhì)和顏色。當(dāng)你打開一個(gè)已經(jīng)有了UV材質(zhì)的3D模型文件時(shí),meshlab應(yīng)該能夠自動(dòng)加載文件材質(zhì)和顏色。
Netfabb
Netfabb是3D打印圈里使用最普遍的免費(fèi)STL文件編輯和修復(fù)軟件。因?yàn)樗鼘?duì)接3D打印的功能比較全面。
1. 能夠查看一個(gè)3D模型的真實(shí)物理大小。
很多3D軟件都不支持查看模型真實(shí)的物理大小,你在屏幕上覺得有書桌大小的模型很可能打印出來只有手指大,所以建議大家在3D打印前一定要仔細(xì)檢查好模型的真實(shí)大小。
2. 能夠檢查出一個(gè)STL文件中是否存在3D打印缺陷。
在一個(gè)數(shù)字化的3D模型中往往存在3個(gè)元素,點(diǎn)(vertices),線(edges)和面(faces)。而為了3D打印,這些點(diǎn)線面必須組成流型(manifold)的幾何構(gòu)型。一個(gè)3D文件是流型的,說明它的每一條線都之和2個(gè)面相連接。而當(dāng)非流型的幾何構(gòu)型出現(xiàn)在3D模型中,3D打印機(jī)在讀入這個(gè)模型的時(shí)候就會(huì)出錯(cuò)。關(guān)于非流型和非水密的問題,請(qǐng)閱讀如何做3D打印設(shè)計(jì)。
3. 能夠自動(dòng)修復(fù)有問題的3D模型
步驟:選中模型,點(diǎn)擊屏幕右上角的紅色加號(hào),點(diǎn)擊automatic repair, 點(diǎn)擊default repair,點(diǎn)擊yes,右鍵點(diǎn)擊修復(fù)的模型,選擇export part,選擇 as STL.
經(jīng)netfabb修復(fù)后,通常會(huì)解決以下問題。
零孔洞:模型將會(huì)呈現(xiàn)流型(manifold),面和線之間不再有縫隙孔洞
零界線:界線指的是處于孔洞一邊的線,它只連接到1個(gè)面上
零反向法線:Netfabb能夠識(shí)別法線向里的面,將它顯示成紅色。修復(fù)后紅色面將消失,變成代表正確法線方向的綠色。
準(zhǔn)確的體積:如果3D模型有的面法線反了,導(dǎo)致表示內(nèi)面的紅色面朝向了外面,那么在計(jì)算體積的時(shí)候,打印機(jī)會(huì)認(rèn)為這個(gè)面以外的所有東西都是模型內(nèi)部,會(huì)出錯(cuò)。
閉合的表面:水密的3D模型,支持3D打印。
注意:盡管Netfabb的修復(fù)工具大多數(shù)時(shí)候很好用,但是它也還是有可能會(huì)出錯(cuò)的。所以你在提交3D打印文件之前請(qǐng)仔細(xì)做好檢查,最重要的是檢查用netfabb修復(fù)過的文件是否誤將不該封住的口封住了,不該刪除的幾何結(jié)構(gòu)刪除了。