3D實(shí)體模型在導(dǎo)出過(guò)程中,所有表面都必須用一定密度的三角形面片表示,不能存在某一區(qū)域沒(méi)有三角形網(wǎng)格。然而,由于數(shù)據(jù)丟失或者在格式轉(zhuǎn)換的過(guò)程出現(xiàn)一些問(wèn)題,STL文件可能存在些許缺陷。
因此在使用STL文件前,為了避免前處理過(guò)程出現(xiàn)問(wèn)題,必須對(duì)模型數(shù)據(jù)進(jìn)行檢驗(yàn),如果檢驗(yàn)出現(xiàn)問(wèn)題,則需對(duì)數(shù)據(jù)進(jìn)行修復(fù),比如微軟的3D Builder就可完成上述缺陷的檢驗(yàn)和修復(fù)工作。

STL已成為目前行業(yè)數(shù)據(jù)的轉(zhuǎn)換標(biāo)準(zhǔn),作為目前通用性最強(qiáng)的格式,STL格式具有以下幾點(diǎn)優(yōu)勢(shì):數(shù)據(jù)格式設(shè)計(jì)簡(jiǎn)單,僅描述模型的幾何形狀。能夠方便地在CAD軟件中,通過(guò)控制三角形面片大小和疏密程度設(shè)置輸出模型的精度。模型使用三角形面片表示,因此可以直接或間接做有限元分析。
盡管STL格式已經(jīng)廣泛應(yīng)用于3D打印中并成為技術(shù)標(biāo)準(zhǔn),但其仍然存在許多不足:三角形面片之間不存在拓?fù)潢P(guān)系,需要另行構(gòu)建。模型中存在大量共頂點(diǎn)的三角形面片,這些頂點(diǎn)被重復(fù)存儲(chǔ),冗余數(shù)據(jù)繁多。不包含原模型的紋理、色彩、材質(zhì)等信息。

為了進(jìn)一步滿足3D打印發(fā)展的需求,一些機(jī)構(gòu)和公司開(kāi)發(fā)新的數(shù)據(jù)格式,例如:
這些文件格式都取得了一定范圍的應(yīng)用,但由于專用性問(wèn)題,其流通性還需要后期進(jìn)一步被支持。因此本文后續(xù)的研究都基于目前最常用的STL格式。
模型被保存為STL格式時(shí)是基于原先的3D模型位置,頂點(diǎn)從原模型表面提取而來(lái)并保留了模型當(dāng)時(shí)的坐標(biāo)信息,盡管打印機(jī)通常能夠在多個(gè)方向上完成一個(gè)零件的加工,但有時(shí)按照默認(rèn)位置進(jìn)行打印并不是最合適的,成形方向的選擇要求必須對(duì)模型進(jìn)行旋轉(zhuǎn)變換。
STL模型初始頂點(diǎn)坐標(biāo)可能為負(fù),即模型有部分區(qū)域不處于第一象限,雖然這不影響切片以及生成路徑信息但仍有可能影響打印機(jī)定位,有時(shí)還需要考慮模型是否超過(guò)了打印機(jī)的最大打印尺寸或者模型太小無(wú)法打印,因此對(duì)于這類模型還需要做平移和縮放工作,直接對(duì)頂點(diǎn)坐標(biāo)進(jìn)行四則運(yùn)算并保持法向量數(shù)據(jù)不變即可完成。

設(shè)置視圖方向和投影模式都是為了更好的觀察一個(gè)物體,視圖方向表示從不同的位置觀察物體,投影變換實(shí)際上是定義了一個(gè)視景體,只有位于視景體內(nèi)的物體才會(huì)被OpenGL繪制。設(shè)置繪圖區(qū)域即指定在哪個(gè)范圍內(nèi)進(jìn)行圖像的顯示,有時(shí)候我們只想讓圖像占據(jù)部分位置,那么這時(shí)OpenGL將在指定范圍內(nèi)繪制模型,一般可以選擇程序的某個(gè)窗口范圍。
上一篇:3D打印STL文件相關(guān)研究從渲染到分層優(yōu)化全解析
下一篇:3D打印中成形方向及輪廓構(gòu)造算法的改進(jìn)探索