網頁

顯示具有 3D列印 標籤的文章。 顯示所有文章
顯示具有 3D列印 標籤的文章。 顯示所有文章

3D列印剛印好請不要急著拔物件



在使用FDM的3D印表機,有時候當零件一印完之後,我們往往都會急著想要把上面的東西給拔下來,畢竟印好了有時候就迫不期待的想要裝看看、把玩看看。又或是有人在進行校正方塊的列印時,就會趕著把它拔下來進行尺寸的量測。但這樣,其實會引發一個潛在的問題。

以我上面使用BambuLab P1P列印的長方形棒材來說,一般PLA列印熱床溫度會介於55~70之間不等,而當我今天一印完之後,畢竟熱床的面積比較大,因此並不會像擠出機那樣降溫的如此迅速,此時物件的底部其實還是處於相對高溫的狀況下,而且PLA其實在60度上下是稍稍具有可塑性的,當你今天在有些溫度時又把它給拔下來(拔物件本身就會對它產生變形的力量了),很容易在這個過程中造成不可逆的變形變化,又例如說當我在熱床還沒冷卻後,就移除我上方圖片中的列印的物件,很有可能導致長方形棒變得稍微有點彎曲。

而有些人會列印扁平的方形塊來進行尺寸、線寬的校正,如果此時沒有等充分冷卻下來後,一來會有熱脹冷縮的問題,二來在拔下來的過程中造成的變形,也可能導致後續尺寸量測上的錯誤。當你今天用錯誤的尺寸來校正,後果當然可想而知會發生很多問題(然後還抓不到原因)。

因此我個人的經驗是,如果不急(我覺得這也急不得,等物件冷卻也是列印的一環)建議還是等到整個熱床冷到介於室溫的溫度在移除,或是冷到它自己脫落熱床比較好(現在的鍍層鋼板都很棒,有些物件冷至室溫後就會自己脫離熱床)。

這是一個很小很小的細節,但急性子的我常常忽略或不在意這件事情,直到有一次印較長的方形棒材時才被朋友提醒,怎麼整個棒子看起來彎彎的,我才意識到一直以來都犯了這個錯誤,我覺得是在列印過程中相當值得去注意的一環。

3D列印零件公差總是抓不準? 使用最小可行性驗證加速設計流程

 



  在使用3D印表機設計一些產品的時候,常常會遇到裝配相關的問題,無論是埋入線性軸承、滾珠軸承、鎖螺絲釘、埋入六角螺帽、塞入光軸、埋入磁鐵等,這些問題都會遇到所謂的公差問題。縱使我們在先前使用了多少的測試去教準機台,但往往印出來的結果就是會有這麼"一點點"的誤差,但對於動則數小時的大型組合件,這麼一點點的誤差就得丟掉整個零件簡直勞神傷財。

  其實也不能怪3D印表機不夠精準,而是影響公差的成因實在太多太廣,無論是線材、尺寸(小尺寸公差準不代表大尺寸就準)、方向、層厚、填充等都會影響後面實際的公差。因此當我在設計組合件相關的物品時,我都會使用最簡可行產品的概念(minimum viable product, MVP)。根據維基百科的解釋定義,其概念是是指:有部份機能,恰好可以讓設計者表達其核心設計概念的產品。設計者可以進行驗證式學習,根據使用者的回饋,進一步了解使用情形,並且繼續開發此產品。」

  當我把這個概念延伸到3D列印之後,就是:「僅列印重點組合部位,恰好可以表達其組合部分,設計者可以進行實際組合驗證,並根據實際的公差回饋,進一步修正產品尺寸。」
  這有點像商管常使用的戴明循環(Plan-Do-Check-Act),我可以改寫成(Design-Print-Measure-Resize),透過這樣的循環驗證可以很快地找到最終的最佳組合公差。

  舉例像封面那張在MK3S印表機上所使用的x-end-motor零件,小小一個零件內會涉及到六角螺母埋入、螺桿螺母裝配、光軸裝配與線性軸承裝配的四大公差問題,我曾經花了5個小時印完之後,實際裝配發現光軸組合部分過於鬆動,整個零件就這樣沒辦法使用了。

  因此我們可以在PrusaSlicer的切片軟體內,使用Negative volume的功能去縮短列印時間,加速驗證流程,如封面的圖片我塞入兩個負模型進行差集(可以把它想像成刪除的意思),僅留下需要被公差驗證的最小部位。而切片後軟體會直接排除我們插入負模型的部位。當然如果你的模型不是這麼容易透過幾個方塊去刪除,你也可以在繪圖軟體內直接編輯,僅留下最小的組合部位進行列印測試。


  透過最小可行性驗證的概念,我可以縮短相當多的時間在裝配件的測試上,雖然多印一個零件看似浪費時間,但是實際上這樣卻能節省相當多的物料與時間,因為如同我上述所說的,一個光軸部分變成鬆配合就浪費了我五個小時的時間。

  在最後要記得的是,在進行驗證時你必須要用與最終列印相同的參數,不管是層高、繞圈圈數、列印溫度、列印速度、填充密度、填充形式、使用的線材等等,都盡可能確保與你到時候實際列印參數相同,透過固定參數才能有效地抓出最好的公差。

3D列印用於食品器具上安全嗎?

 


  3D列印因為它的彈性製造特性,一直以來使用在各式各樣的場合,如靜/動態模型、機構驗證、產品打樣等,而一直以來有一個問題是大家常常會問到的,那就是「3D列印的東西能用在食物容器/器具上嗎?

  在模型網站上我們常會看到印出來的馬克杯、盤子等容器,但是這樣子的東西真的適合實際使用嗎?關於這個問題我會從一些參考到的文獻著手,並帶入我自身的觀點一一講解。


使用3D列印用於食品器材,有甚麼樣的隱憂?

  1. 在我們購買的材料中,我想大部分的材料並沒有通過食物的驗證,而且在製造的過程中多半都有添加色母染色,或是加入一些添加劑有助於抽線。即使我們並非直接食入,但是我們不能確保在盛裝食物的過程中,會有細屑或粉末沾在食物上面的隱憂,進而食入人體。就算其抽線原料有通過驗證,但是接著又會有另外一個問題產生,那就是積層製造中無可避免的層紋問題。

  2. 積層製造,顧名思義就有個字,這個問題導致於當使用列印的物品當作食品器具後,食物的殘渣不免會卡在層紋的縫隙之間(想想你的牙縫就好),這種卡進去的殘渣你非常的難以清潔,就算要深層清潔可能也需要耗用大量的水以及清潔劑。而這些卡在層紋之間的食品殘渣,在後面就會成為細菌的溫床。



  3. 一般3D印表機最常使用銅噴頭為了方便加工,可能在銅原料中多少含有鉛的成分在(為了提升切削性),而你可能會認為說噴頭是金屬,但其實他也是一個消耗品,在HOW MUCH abrasive filaments damage your nozzle!這部影片中有提到,銅本身算是蠻軟的一種金屬,在長期的磨耗下其實頭端的孔徑也會變大,而那些不見的銅去哪了? 就是跟著您的材料一起被包進作品中。因此就算使用了食品級的線材,當你的食物沾染到含有銅/鉛材質的列印容器,進而間接食入該物質,我都不認為這是一件好事


  4. 我猜你是不是有想到,如果難以清洗,那我就用洗碗機高溫殺菌不就好了? 但問題在於你無論是PLA或PETG(這兩種"材質"比較適合用在食品容器,ABS或ASA都不是適合的),其軟化溫度都大概在60~80度之間而已,一般常見的洗碗機溫度大約55~70度,很有可能當你的容器烘完之後都完全變形了

那麼竟然有這麼多隱憂,那我還是真的很想用來做食品應用,我該注意甚麼?

  在About food safe 3D printing影片中,進行了大量嚴謹的實驗,利用PLA與PETG兩種材料,針對不同的層高,以及帶有食品等級環氧樹脂的塗層進行實驗,觀察盛裝牛奶並清洗後容器內取樣後生成的菌落形成單位(CFU,colony-forming unit)。在影片的結論中,無論是PLA或PETG都有相當多的殘留菌?(抱歉我非生物/化學專業不知道該怎麼使用這個措辭),而最理想的做法就是在容器上塗抹食品級的epoxy,因為這個塗層一來可以建立防水,避免食物、液體滲入內部填充,再者這個塗層可以抹平表面的層紋,進一步避免食物殘渣卡在層紋上,同時達到較好的清洗效果。
  但是epoxy塗層畢竟是樹脂,它本身的硬度並沒有相當的好,因此對於尖銳物跟刀具的使用場景,仍然會在表面上出現傷痕,而如果使用菜瓜布等較硬的清潔器具,可能也會對表面產生刮痕。

  除了塗抹
食品級的epoxy之外,在上述影片中的作者,後續還有對於所謂的抗菌線材進行實驗Testing antibacterial and antimicrobial filaments from food safety aspect,實驗結果的CUF雖然比起單純使用一般的PLA來的低很多,但是可是就算你使用百分百填充,一定還是會有孔隙,印出來的東西還是難以清洗,而且食品抗菌線材價格並不低,去外面商店買一個漏斗、馬克杯、柳丁榨汁器才多少錢


  所以根據上面的論點,如果今天使用塗抹食品級epoxy的器皿來裝一些乾的食物(如餅乾),可能還無傷大雅,但是若用在一些帶有蛋白質成分的食物上(牛奶、肉製品等),則會導致相當不好的結果。如果還是很想使用,我認為或許可以採用翻模的方式,印出該食品器具的造型後再進行翻模,選用可用於食品上的灌模材料,可能還是比較理想的做法。

  不過說真的,在這麼多綜合考慮/隱憂上,我認為還是不要冒這個風險比較好,如果真的要把3D列印的東西用在你的廚房,我覺得印一些如雞蛋放置架、鍋碗瓢盆的掛架等真的就差不多了,而且食品器具一般單價都不高,其實沒必要再花那個時間又帶有健康疑慮的去製作3D列印的食品器具。

  我想就是因為有這麼多隱憂,所以在Prusa的文章Food safe FDM printing才會在結尾處清楚地寫下,「We do not recommend using 3d-prints as food-containers etc!-Prusa research」。在我看了一些資料後,我個人也是有一樣的看法。


  然後我最近還看到有人問,竟然FDM印出來的有層紋,那我能不能使用光固化來印?因為光固化幾乎沒有層紋!!
  說真的光固化我認為更不用想了,姑且不論光固化材料的價格本身可能就比外面市售的塑膠製品來的貴,更不用說帶有生物相容性認證的樹脂,那價格絕對會讓你退避三舍。而且一般的光固化材質其實比PLA或PETG更容易磨損,而且磨完之後還會變成粉粉的(方便食用!?),再者我們並不能保證我們在清洗的過程中,有把未完全固化的樹脂給清洗乾淨,未固化的樹脂本身是有毒性的,更不用說食入人體了。所以,請不要這樣做

3D列印中如何隱藏表面產生的拉鍊(Seam)的問題?

 


  在使用3D印表機的過程中,接縫(Seam)這個東西是幾乎無法避免的事情。從Prusa官方文章中對於Seam position的解釋中有提到(Determines the start point of each perimeter loop, and thus the position of the potentially visible vertical seam on the side of the object.),這意味著除了花瓶模式之外,只要是一層一層疊上去的列印方式,勢必會有接縫的問題產生,這是由於在外圍繞圈(External perimeters)的過程中,一定要做一個收尾的動作,當移動到下一個位置時擠出機執行回抽,或多或少都還是會有一些殘存的壓力,導致噴頭的料或多或少的留在了該位置,從而形成了接縫。
  這意思有點像你拿一支鉛筆在紙上畫一個圈,在怎麼樣厲害你都很難避免會留下一個下筆/提筆的點,在擠出機上其實也是差不多的意思,而這個留下來的點,就會造成物件外觀有一連串的問題產生。


  從下圖我們可以看到,白色點點的部分就是所謂的接縫的位置,也就是在列印的過程中執行斷點的位置。以左邊的白色甜甜圈型的物件來說,內圈與外圈都有接縫的位置產生,那是因為他們是各自獨立的繞圈(Perimeters),而每一個獨立的繞圈,就勢必會有接縫的產生。

  但接縫就接縫,它會對我們的物件造成什麼樣的影響嗎?其實對於大多數的人來說,最在意的就是接縫位置對於工件的外觀會有很大的影響,有時候如果嚴重一點的接縫,會讓印出來的物件表面好像長了一點一點的青春痘一樣(接縫很明顯的話可能是料的溫度設定過高,或是擠出機回抽不足)。


  但其實接縫位置不只對於外觀有所影響,在公差設計上也會產生問題。為甚麼這麼說呢? 我舉在FDM印表機校準中常使用到的負公差測試為例,這是一個很經典的測試範例,利用圓柱與外圈之間的各種公差(大概都是0.1~0.5mm之間),去測試拔出圓柱的順暢度是過緊或過鬆,這有利於在後續繪圖時知道要塞入軸承、圓棒之類的配合件時,知道大概要預留多少的公差(因為3D印表機變因太多,機型也成千上萬種,所以每台機器可能都有自己的公差)。
  眼尖的您應該能發現,此時接縫的位置就會對於公差測試產生一個嚴重的影響,因為接縫是繞圈不可避免的問題,因此在每一個圓柱體上,分別在每一層都留下了接縫,這個接縫很有可能產生一連串的凸點,而這個凸點又對於公差測試產生了不良的影響


  那我們該怎麼辦? 難道我們就任由接縫這樣隨處生成嗎? 我由Prusa官方推出的Design Principles for 3D Printed Parts裡面教到的知識來跟大家分享。在講師在Printables有發布一個公差測試的模型Clearance Tolerance Test,這個模型可以讓我們進行公差測試,而透過一個簡單的設定我們可以迴避掉接縫對於公差測試造成的負面影響。(同理也可以用在您設計的配合件上)


  在PrusaSlicer中有一項很方便的功能叫Seam painting,這項功能能讓我們在切片軟體中,指定要生成接縫的位置,從下圖可以看到我把接縫的位置都盡可能地放在尖端外頭,也就是非公差測試的主要位置。透過這項設定我可以避免再內部的圓柱中有接縫的產生,而導致在公差測試上有所偏誤。


  而這項功能對於列印外觀件的人來說也相當好用,舉例上面的摩艾模型,我可以把接縫位置一律藏在它的背面,雖然印出來會在後面產生一條明顯的接縫,但是這種自定義的接縫在後處理時是相當的方便,雖然在切片軟體內本身就有Seam position的功能能設定接縫位置,但是透過筆刷自己設定接縫位置我覺得更加方便與靈活許多。


  接縫是在FDM這種積層製造方法中難以避免的一項問題,而透過切片軟體的巧妙設置,我們能把這項問題所造成的傷害盡可能的減小、隱藏,以達到隱惡揚善的效果。

3D印表機的線寬校準流程 讓印出來的東西更精準


  線寬校準,這個問題一直是3D印表機校正中相當多人困惑的一點,而這一點也是影響精準度與外觀至關重要的環節。理論上來說擠出機計算出來的擠出量,應該要等同於列印出來的線寬,但是實際上會因為擠出機齒輪的誤差、噴頭的磨損、線材的公差等等多種關係,導致實際印出來的線寬並不等於軟體設定。
  倘若以簡單的角度來解釋,校準的目的就是為了確保在擠出機擠出來的線條寬度,必須要盡量與切片軟體內設定的寬度一致,從而得到精準的幾何精度與表面的完整性,算是一種手動補償的動作。在進行任何方塊、圓塔的尺寸測試之前,我認為線寬校準這是優先要執行的步驟,從而確保擠出量的正確。


  而微調擠出線寬的參數,在PrusaSlicer這套切片軟體中主要是在Filament Settings→Filament→Extrusion multiplier這一項參數進行調整,透過這項參數可以微調擠出機的擠出流量倍率(記住是微調,差太多的話一定是哪裡出問題了!),基本上該數值的調整會介於0.9~1.1之間(也就是原擠出流量的±10%之間調整),這項參數在Cura這套切片軟體裡面,似乎是在耗材→流量(flow)這個項目。
  在Prusa mk3s這台印表機的操作螢幕上也有一個流量的調整,跟切片軟體內的作用相同,而這兩者的關係在官方的介紹是:(Total flow rate = Flow multiplier in firmware (M221) x Extrusion multiplier in PrusaSlicer.),而建議大家機器或切片內選擇一邊調整就好,兩邊都調很有可能會讓自己亂掉

  在PrusaSlicer內預設的線寬設定如下,先前有提過線寬校準就是要讓印出來的線寬與參數相同。一般來說正確的校準方法是列印一個單圈薄壁(無填充)的正方形進行量測。


  製作校準的方塊蠻容易的,並不需要使用到繪圖軟體,在PrusaSlicer可以直接插入一個方塊(Add shape→Box),然後將填充設定為0%;繞圈設定為1圈(Perimeters);封頂設定為0層(Solid layers→Top)。透過這樣簡單的設定,在切片後就會直接產生一個單層繞圈的校準方塊了。(其它線材溫度等參數建議使用你原本就在用的,以達到控制變因的目的。)
  在下圖中的白線是Seam的位置(在換層時回抽的位置),這個Seam回抽有時候會導致表面有凸出來的顆粒,這也是3D印表機一定會存在且難以避免的問題,而PrusaSlicer預設的Seam position是Nearest (edge),因此會自動在正方型的角落處換層,如此一來不會因為表面有凸出來的顆粒而影響實際量測出來的線寬。(我發現這點很多人沒有注意到)


  列印後我們可以用游標卡尺量測四邊的寬度(如本文的封面圖片),然後進行平均後在對Extrusion multiplier這一項參數進行補償。根據Prusa官方的定義公式如下:

Extrusion multiplier = (Extrusion width (0.45) / Average measured wall thickness).


  例如我量出來的四邊厚度分別為0.43、0.45、0.44、0.44mm,那麼可以得到我的平均線寬為0.44mm,因此我將切片軟體內的線寬0.45mm除以量測後平均的0.44mm,可以得到應設定的補償係數(Extrusion multiplier)為1.0227(軟體內可以輸入到小數點後4位)。如此一來在進行一次列印,應該就可以得到平均為0.45mm的寬度了(因為擠出量增加了),而以上就是線寬校準的流程。


  校準完之後可以再列印一個方塊,然後量量看尺寸是否精確(理論上應該會很準),這邊要注意的是在列印校準之類的方塊、物件時,請確保熱床已經冷卻到大概40度以下在取下工件,原因是在熱床還高溫的情況下,移除工件可能會導致些微變形,而對變形後的工件進行量測校準就沒有任何意義了,這是一個需要注意的小細節


  對印出來的方塊進行量測,約莫跟模型的20mm一致,基本上能達到0.1mm的精密度已經很好了,不要對這種家用型的3D印表機抱持著要達到"條"(0.01mm)這種精度的想法,因為印表機列印出來的物件受到太多的變因影響。


  而如果您列印的多半非配合件,只是"好看的"物件的話,可以用比較簡單的方法來校準,試試看官方提供的第二個方法,目視法(Visual Method),列印一個方塊並觀察封頂的狀況,如果線與線之間有間隙可以稍微調高補償參數1~2%之間,如果太滿則減少1~2%,如此慢慢調整,大概就能找到不錯的數值了。


  在寫這個文章的時候突然看到我在2015年也有寫過類似的文章(如何調整3D印表機擠出量),那時候忘記先做線寬校準就直接列印測試尺寸的方塊,是一個不太好的步驟,而且比起來現在的機器精度以及切片軟體實在都方便與人性化許多,之前還利用調整擠出機的E/step來調整流量(其實道理也差不多,但很容易造成誤會)。
  如果對於列印出來的尺寸、封頂的表面一直有很大的問題,不彷試試看先進行線寬校準,或許會得到不錯的解決成果。或者是檢查一下你是不是使用低價粗糙的線材進行列印,不精準的線材也會導致線寬不準,關於這個問題可以參考我的這篇文章(3D列印的尺寸一直不精準? 你該注意線材直徑公差的影響)。

3D列印的尺寸一直不精準? 你該注意線材直徑公差的影響

 

  在大多數FFF形式的3D印表機中,所使用的線材多半是直徑1.75mm的線材。許多人在列印自己的作品前或是剛獲得一台印表機時,往往會花費大量的時間去調整公差,印XYZ的測試方塊也好、調整印出來的線寬也好,不斷的調整不同的切片參數。就像下面的照片一樣,當時我不斷地在測試要讓印出來的尺寸跟繪製的一模一樣。但後來才發現,我花了大量的時間去調整機器,卻忘了我喂它吃的線材,到底品質好不好.....


  品質好不好? 反正不就能從噴頭擠出線出來就好嗎?其實事實上線材的品質對於作品的影響非同小可。(若是不重要的話,Prusa的創辦人沒必要花大把銀子去創建自己的線材製造工廠,只為了把直徑公差從常見的±0.05 mm降到±0.02 mm的精度)。而在Filament Tolerances對於這篇文章中,對於線徑的誤差有做一些探討,說明了線徑公差對於列印作品外觀的影響。


  每一個Prusament在出廠的盒子上都會有一組QR code可以掃描,它會秀出如本文開頭的照片那樣的數據,顯示這個線材在製造的過程中的直徑測量曲線圖,不像有些廉價的線材用游標卡尺量出來1.75mm的照片,就號稱自己高精度(壞掉的時鐘,一天也會對兩次)。
  Prusament在線材製造的過程中,每秒採樣4700次進行直徑的紀錄並出曲線紀錄圖,並且還有直徑的標準差可以依循,並將其標準控制在±0.02 mm以內,我認為這才是真正的線材品管,而不是拿個游標就說自己的線有多準,整卷都要這麼準才是真的。(最誇張的是±0.02mm是他們的品管"極限",我拿到的這捲材料上下限是±0.009mm,相當於一條以內.....)

  說了這麼多,線材的直徑到底對列印出來的東西有啥影響?在Does 0.02mm Tolerance Make a Difference?這部影片中透過簡單的計算,解釋了直徑造成的結果,而我這邊想透過自己用Google試算表所計算的差異來解釋。


  首先我們知道從擠出機出多少線,勢必就會轉換為印出來的線(質量不滅),在這裡的計算我忽略線材本身的收縮率、含水率、機器移動或擠出機的誤差,就把變因控制在材料的線徑公差對於線寬的影響就好。
  而根據使用的線材=擠出到床台上的線材,我必須先計算擠出在床台上的截面理論面積,才能再繼續進行計算,理論面積的公式如下(A2):


  透過這個公式,我去計算出當使用了1mm的線材時,以0.1mm層高及線寬0.45mm的情況下,會印出約56.13mm的線在床台上。


  有了這些參數之後,我就可以推算出不同線徑下,所印出來的"理論線寬"為何(當然實際上影響線寬的因素還很多)。而從下面公式可以看到,層高是固定的,而出線長度換算列印長度也是在切片時,就被gcode計算好的,因此下面公式中線寬(W)的變因就是線直徑(D1)的影響。(出線長度L1/L2的比值在相同層高下是固定的)
(我數學不是很好,所以有計算錯誤可能還麻煩請指教一下)


  透過上面的公式,我建立了下面這一張表格。可以看到在不同的線徑公差下所造成的線寬誤差。可以看到大致是呈現線性變化的,隨著公差越精準,誤差的寬度越小。


※補充:上述公式中,其實應該還要有一項擠出補償係數Extrusion multiplier(PrusaSlicer)或flow(Cura),目的是在微調列印的線寬校準,這個之後再另闢文章講解。

  不要小看那線寬0.0x的差異,我就曾經看過有人改裝線性滑軌、用千分錶調整床台,希望讓3D印表機調整到如CNC那般的精準(我個人是覺得矯枉過正了),然而他卻用著不知名的PLA再進行機器的校準。在不精準的線材上印多少校準塊,永遠都會有著那樣的偏差。
  而且你可能會認為我並非做工程零件,不需要很精準的尺度。但是線寬不一致的結果,也會導致你的外觀看起來層紋更加明顯(因為線寬不一致)。

  品質不良的材料不只直徑公差不佳,就連內部的成分可能也有許多雜質。廉價的線材可能使用較差的原料進行抽線,在列印時間一長之後,線材內不可融或一些雜質會卡在整個喉管區域,導致列印越來越不順暢甚至導致堵頭,同時也會導致列印出來的作品可能一下冒泡、出現表面豆粒、焦痕等等問題。

  最後大家不訪看看這則影片Prusa Factory Tour!,在4:00時介紹Prusa工廠的抽線部門,就可以看到其製造的嚴謹程度了。一分錢一分貨,別花了大把銀子購買機器,又花了許多時間調整機器,卻因為用了不好的線材讓自己的一切努力形同虛設。

萬丈高樓平地起 3D列印前應注意的貼底問題

 


  萬丈高樓平地起,這句話不只是用在建築業,同樣的適用在3D列印的領域中。有玩過3D列印的人應該大概都知道,列印前都需要經過切層軟體的輔助,把模型切成類似一片片如洋蔥般的檔案去列印。在我的列印經驗中,絕對有超過半數以上都是第一層出問題造成。而許多人大概都跟我一樣,按下去列印人就跑了,結果幾個小時回來後才發現一蹋糊塗,不僅浪費了許多寶貴的材料(尤其光固化樹脂超貴.....),同時還要花許多時間清理。
  如果是FDM還可以用家用攝影機搭配雲端插座開關,但如果是光固化的話,除了必須要印到工件浮出樹脂後才知道第一層有沒有抓好,安裝攝影機也相對麻煩(之後Phrozen Mighty8k有要開放視訊鏡頭與遠端遙控的功能就是) 。

  因此有一個問題就是第一層列印時常常發生的,那就是物件忘了貼平底面。如封面的照片一樣,有時候我們想要貼底列印,當物件丟進去軟體時看起來已經貼底了。此時如果遇到有些物件繪製時跟水平面有微微的夾角(只要0.x度就好),此時轉到底面去看,就會發現只有一條不寬的線是綠色的(綠色代表與底面有接觸的)。此時如果又直接切下去列印,在這麼小的接觸面積下絕對是失敗的。因此在列印前務必使用按面平展的功能讓物件底部確實全部都是綠色的,確保完全的貼底


  而在FDM的例子中也是如此,舉例我要列印這個模型的駕駛台,但是底部並非平行水平,所以當放置元件後去切層,軟體並不會進行警告,而是會視為它是Bridge infill(搭橋,也就是懸空了!)。


  可以從上圖看到鐵藍色的部分就是Bridge infill(懸空搭橋),而只有紫色的部分才是貼底列印的部分。這是在列印中常常會忽視到的問題,畢竟我們玩列印的人有時候比較猴急,看到喜歡的東西就想趕快印出來XD。

  因此關於這個問題,可以保持的好習慣是當切層完畢後,用滑鼠360度檢視一下,有沒有沒貼底、沒支撐、懸空、材料選錯(FDM常見)或是層高設置錯誤等等,並且幾乎每一套切層軟體都有逐層預覽的功能,拉動一下到最底層並逐一快速地檢視一下,這個好習慣可以讓你在列印的時候更少發生憾事,也能替你省下不少的時間與金錢喔(至少我就犯過好多次這種錯誤.....)。

避免光固化列印產生階梯紋的最佳旋轉角公式講解



  在淺談光固化的像素紋與階梯紋問題以及解決方案(The Staircase Effect)這篇文章中我有提到一個最佳旋轉角的計算公式。利用Google的瀏覽器計算機可以輸入arctan(Layer Height/Pixel Width) in degrees去計算出屬於自己機器與層高的最佳旋轉角,而這篇文章我就想解釋一下它的原因是甚麼。

  在網路上有人利用desmos這個網站寫了一個最佳旋轉角公式的函數圖形工具,我就利用這個工具的圖形來解釋一下為甚麼要使用最佳旋轉角,來讓列印的物件有較佳的表面。

  在先前的文章中我有提到,從微觀的角度來看光固化是透過一格一格的方式疊加,去產生出具體的立體形狀。如果以單一斜平面的情況下來說,格子看起來就像階梯狀的成長上去,當我今天傾斜的角度越斜,就會產生如紅圈處的現象,為了要用一格一格的方式去疊加出一條斜線,就會有這種現象產生(也就是我一直說的跳格),也可以稱為Staircase Effect。這個現象在光固化的XYZ軸(LCD形式的),以及FDM的Z軸上都會產生。


  而最佳旋轉角的目的,就是為了讓其直線的延伸線會一路依循著像素格與層高的頂點移動,如此一來可以確保在斜面上的跳格都只會有一格產生,當跳格之間的尖端對角線越短,我發覺對視覺的影響就越小。


  說真的雖然印出來實際上會有很大的改善,但我還是不明白為什麼長距離的跳格,在視覺上會有這麼明顯的階梯紋路產生。從這個公式我們也可以知道,當你的機器今天有著很小的像素寬度(也意味著解析度高),以及用較小的層高去列印,會有更細緻的"格子",因此像素紋的影響也會顯得更小

  像素格寬度基本上在購買機器時間就固定了,而且越小的像素格也更要求UV光的平行度與均勻性,同時也考驗著樹脂的品質與特性。而層高的高度也有最小的限制,因為在Z軸的移動上有所謂的重複定位精度限制,如果機器本身架構不佳,就算把層高拉小所產生的差異也不大。

避免LCD光固化列印的階梯紋及實際做法

 

  在淺談光固化的像素紋與階梯紋問題以及解決方案(The Staircase Effect)這篇文章中我有提到,當列印時每一個組成的"方塊"之間的尖端間距更長,其紋路會更加明顯。這句話的意思聽起來或許有些模糊與繞口,但我們可以從Chitubox的切片軟體中看出端倪,並把這個問題更清楚的解釋一下。

  在光固化的切片軟體中(這邊說LCD形式的),當把stl/obj檔案丟進去並架好支撐切片後,會產生一個ctb格式的檔案供光固化印表機使用(每台機器未必相同,但目前大部分都是ctb),當我們把這個檔案丟到Chitubox再次打開時,可以看到由一格一格組成的3D模型,這其實就是由層高及LCD的像素單位所組成的立體模型,也是實際在機器上層層曝光的圖形


  在淺談光固化的像素紋的文章中我們可以看到,實際列印出來的測試模型,在45度的部分還是有階梯紋的產生,而43.88度卻幾乎看不到,其實這跟像素的跳格有關(跳格算是我自己想到的用詞)。因為在實務上當一個STL檔案要轉成由一個一個方塊組成的3D列印檔時,就一定會有階梯效應的產生(staircase effect),這絕對是無可避免的事情。我們從小畫家可以看出這個效應,當垂直與平行的時候不會有任何跳格的現象產生(那是當然),而45度時像素的尖端對角線也最多是一格,所以在線的邊緣也不會有很明顯的階梯紋,然而在極陡峭的直線時,因為往往會好幾格才一個像素移動,使得對角線拉長,在視覺上也變得更明顯,這就是我們要避免的重要原因


  當旋轉角為43.88度時(這邊以Phrozen Mighty 4k並使用0.05mm的列印層高為例),其模型的平面沿著方塊格的邊角對齊,所以在切片後它不會有明顯的跳格的現象產生。但是當旋轉角為45度時,每過幾格之後就會有跳格的現象產生(跨越兩格以上等等),跳格的這個問題在越陡峭的角度會越明顯,當跳格之間的對角連線越長,在視覺上會越明顯。所以才會常常聽到有人說45度、30度、60度之類的擺放角度(不然就是平放或垂直),因為這幾個角度的確在跳格上是相對少一些,但仍然還是會有


  那麼實務上應該怎麼做呢,首先最大的要素就是讓切片後的平面,在組成的方塊有最小的對角連線,這樣在旋轉上我們有許多要注意的事情,大致步驟如下。首先以我先前列印的槍枝檔板為例,我先利用赤兔中按面平展的功能,把我最在意以及最想彰顯出來的平面,讓它跟LCD平面平行。


  然後從下圖中我們會發現到,我們後續需要旋轉的旋轉軸是一個很奇怪的角度(這要視你的模型而定),這時候你只要把Z軸轉360度,它那個角度就會歸零,這樣後續輸入最佳旋轉角就比較不會搞混。


  接著如下圖,在X、Y單一軸向上輸入最佳旋轉角就好了,這邊要請記得每台機器的最佳旋轉角都不同喔。輸入後請記得不要再去旋轉第二個的角度,如果我轉了X軸再去轉Y軸會導致相對於LCD平面的最佳旋轉角會跑掉。但記得Z軸也最好不要,除了45度以外,這個原因我後面會提到。(還記得最佳旋轉角的公式嗎? 這裡提醒一下)

 arctan(Layer height/pixel width) in degrees


  當切片完成之後,我們可以把最後切片出來的.ctb檔案打開,看一下由方塊狀組成的列印檔案是不是有跳格的現象產生,如下圖我們可以發現,在我設定的最佳旋轉角度下每一個像素格之間的移動僅為一格,所以這樣會有最不明顯的跳格效應,也會讓整個表面看起來更平整光滑。(我把模型縮小為25%,目的是為了讓像素格更容易彰顯出來)


  而關於在上面我提到,旋轉一次最佳旋轉角之後就不要轉第二次,那是因為相對於LCD的角度在第二次輸入後會跑掉。然而一定會有人想問,轉Z軸的話對LCD的相對旋轉角不會改變阿,那為什麼不行? 又為什麼45度可以?


  上圖是我將架好支撐的模型複製3份,並分別對於Z軸旋轉45度、10度與原始沒旋轉的0度,同時擷取其中一層的切面來看。

  從圖中搭配上前面畫的小畫家直線比較圖來說,當0度時因為相對於LCD的像素格是沒有移動的,所以自然不會有格紋產生,而45度時雖然有格紋,但因為它的移動間隔僅一格而已所以影響不明顯,而在10度的部分就可以看到幾格後一個跳格的情形產生(因此方塊間對角連線被拉長,造成視覺明顯)。LCD像素格是正方形的,所以在0、45及90等45度倍數的角度旋轉都算可以接受的。

  透過以上內容,我們可以知道當列印單一大平面時,需要將其旋轉到相對於LCD平面的最佳旋轉角,然後避免對Z軸旋轉而導致額外的階梯紋產生。然而以上的做法雖然有效,也可以大幅解決表面階梯紋的問題,但此時又有兩個問題出現:
  1. 鮮少平面會旋轉一次就架支撐,因為這會牽涉到每一層皆為最小面積(這我後續寫的文章中會解釋)
  2. 若遇到90度方塊狀的物件怎麼辦? 讓一個平面漂亮那不就得捨棄另外一個平面? 這我一樣會在後續進行探討。
最後我列出了一張表,能夠速查您機器在不同層高下的最佳旋轉角(有錯還煩請告知)。


淺談光固化的像素紋與階梯紋問題以及解決方案(The Staircase Effect)


  在積層製造的技術中,爬坡紋或階梯紋(Stair-case effect)是相當常見的問題,尤其是當在Z軸方向的圖形變化率很大時,就會有這樣的現象產生。這個問題在圓頂封頂的時候常常可以見到,當然這個問題在FDM已經可以透過可變層高(variable layer height)來改善。然而在DLP的光固化印表機中,又多了一個問題點出現,那就是像素紋的問題。


  以SLA形式的光固化印表機(如Formlabs風雷系列機種),本質上比較類似於FDM,透過極細小的雷射光點去掃描,所以並不會有XY軸的像素紋的問題。然而DLP形式的光固化印表機(Phrozen目前的機型皆是如此),又多了一項需要考慮的問題,那就是像素紋(關於DLP形式的印表機可以參考我寫的這篇文章LCD光固化印表機的解析度介紹)。DLP形式的印表機本質就是一塊LCD面板,那除了爬坡紋之外還會有所謂的像素紋產生(其實嚴格來說兩者成因類似),但問題是這是甚麼意思?

  不知道大家有沒有玩過當個創世神(Minecraft)這款遊戲,它是利用許多3D方塊去建構出各式各樣的世界樣貌,因此當使用大量3D方塊去建構出弧形、圓球形的時候,就會有很明顯的紋路產生(相同體積的狀況下,當然越大量的方塊外觀就會越細緻)。而DLP形式的印表機不僅在Z軸上,同時在XY軸上也會有這樣的現象產生,這起因於LCD光固化成型本質上是利用面板作為遮罩,進行選擇性曝光成型,因此我們可以理解每一像素(pixel)就像是一個方塊一樣,只是透過極細緻的方塊去建構出3D列印的模型。(如果不理解SLA跟DLP的差異,可以參考這篇文章3D列印技術比較:SLA與DLP)

因此每一個構成的方塊大小在DLP形式的光固化中我們可以表示為
X:像素;Y:像素;Z:層高
  如下圖所示,該圖片是我把一個圓球丟進去赤兔(CHITUBOX)進行切片後的結果,我們可以看到很明顯地就像是用一個一個方塊所構成的圓球。但問題是,像素紋會對我們的實際作品產生什麼影響嗎?


  可別小看像素紋的影響,如果沒有影響的話那光固化的機器商也不會一直推進螢幕的像素密度,以下面兩張圖來說,這是我要列印槍枝微縮模型的防彈檔板,第一張是檔板相對於LCD水平面偏轉87度的列印件(已經很接近垂直),第二張則是偏轉43.88度的檔板(這什麼奇怪數字? 我等等會解釋)。可以看的出來,在第二張圖的檔板平面很明顯的平滑、光亮許多,也看不到明顯的階梯紋路產生,而以上的差異只有列印角度的差別,其它參數都是固定的。


  在3D Printing Flat Surfaces On A SLA 3D Printer這篇文章中,探討到該如何列印出完美的平面,裡面有寫到一個公式,可以讓我們在擺放列印件的過程中取得最佳角度,使得微觀下方塊與方塊之間的尖端間距達到最小,如此一來會有更細緻的表面。這個公式是這樣的,你可以把自己機器的像素寬度與層高複製到Google上搜尋,會自動帶出最佳角度的結果。
arctan(Layer Height/Pixel Width) in degrees

  舉例我使用的機器是Phrozen mighty 4k來說,並使用0.05mm的層高進行列印,其LCD的像素寬度是52um(可以在官網的產品規格中查到),進行計算後可以得到arctan(0.050 / 0.052) in degrees = 43.8766973 degrees,這就是要取得最佳平面的最佳旋轉角。

  在How to Angle your Resin Print for the Smoothest Surface Possible.這則影片中,則使用很棒的圖示與實驗讓我們看到旋轉角對於平面的效果,而為此我也做了一個簡單的實驗來表示這個問題以及成果。下圖是我為了測試不同角度對於表面平滑的影響,由左至右角度分別為90、87、60、45、43.88、30、15、3以及0度,紅星標誌就是最佳旋轉角(43.88度)。如下圖所示,可以發現幾乎每一個角度都有些許的階梯紋產生,而紅星處的角度幾乎看不到階梯紋的產生。


  透過微距我們可以看到,因為45度並非最佳旋轉角的關係,仍然會有間隔狀的階梯紋產生。而43.88度的表面則是相當的細緻完美。在網路上常常會看到所謂的45度法則,可以在赤兔官方的教學文章中看到如何優化模型擺放提升表面品質?發現到為什麼大部分的文章都會這樣講,要不就是45度、30度等等的角度。
  舉例有些文章的結論說到實驗最好的擺放角度是將模型呈30°擺放以及通常情況下,45°擺放列印出來效果應該相對較佳這兩句話,其實並不全然正確,真正的最佳旋轉角應該要視您列印機器的像素寬度以及列印層高所設定。(況且我覺得它文章中有列印失敗的問題,還拿來做實驗結論或許有失公允....)。


  知道了最佳旋轉角之後,以後在列印平面的東西時就比較知道該旋轉幾度擺放,以達到最佳的表面品質與光滑度,在Make beautiful 3D prints: understanding the layer thickness這篇文章中有說到。
This paradox is due to the fact that on a very gradual slope, the layers are much more visible. This is because there is greater spacing between one layer to the next.
  在上面那句話中我的理解是,當列印時組成的"方塊"之間的尖端間距更長,其紋路會更加明顯(文章讀到這裡應該能理解方塊的意思了吧?)。因此我們要做的就是使模型列印時,組成的方塊尖端間隔之間的距離最小(不要有一長段平面又一個斷差這樣),因此我們需要的就是最佳旋轉角。如下圖所示,在最佳旋轉角的情況下,因為其平面連線剛好沿著像素與層高的方塊尖端切齊(紅色虛線),因此會使得列印出來的紋路最不明顯。從下圖我們也可以看的出來同樣的像素寬度,在不同的列印層高底下就會有不同的最佳旋轉角,這都可以透過公式計算。


  在過去所謂的45度法則、最佳擺放角度等等多半是依照經驗談,而讀過這幾篇文章以及進行實驗之後更能讓我了解怎麼樣讓印出來的平面有最佳的表面,我們常常都會印到方塊、地台、平板等物件,掌握這個原則讓最大、需要彰顯出來的平面在最佳旋轉角上,如此一來我們就能得到最佳的結果。(當然除了平行或垂直列印例外)
  因此我們也能了解,廠商不斷的追求更小的像素寬度(如8k),以及用更小的層高列印就是為了降低方塊尖端之間的連線,以達到最佳的表面細緻度。

  而關於影響到列印表面品質的成因還是有很多,例如光源平行度、強度、樹脂品質或機器穩定性等,但我覺得這個單平面旋轉的階梯紋問題是相當常發生的。關於此階梯紋還有許多細節可以探討,我會繼續進行研究。當然也有人跟我反映說,實際上很少會有這種大平面的光固化列印,這個做法有點不符合實際。關於這點確實沒錯,畢竟模型類的東西很少會有這麼完美的大平面,不過就當作是一個經驗分享嘍。

延伸閱讀: