2021年2月24日 星期三

3DP : OpenSCAD : 可自訂參數相框

2021年2月24日 星期三

相框可以用各種材質來做,去年是用兩張名片大小的的小卡加上瓦楞紙,一片片裁,一片片以雙面膠黏;今年決定用 3D printer 來印,剛開始是用 TinkerCAD 來畫圖,可是不同尺寸就要再重畫;所以試著用 OpenSCAD 寫個可自訂參數的相框產生器。


相框沒有支架,在底部夾上 Benny Bear Remix ,就可以站得穩穩的。


這個可自訂的相框分為上、下兩片,圖中的左側為相框的下半部(Bottom Mat),它有溝槽可以放照片,邊框內側中央有凹洞可以用來固定相框的上半部;圖中的右側為相框的上半部(Top Mat),中央邊框有突起可以用來卡住相框的下半部。

想玩玩可以下載 photo-frame.scad ,在 OpenSCAD 中開啟並執行;或是在 Thingiverse 網站中,以畫面右上角的「Open in Customize」來自訂參數並製作模型:



可以自訂的參數有:

  • 相片大小:
    • photoWidth : 相片寬度。
    • photoLength : 相片長度。
    • photoHeight : 相片高度(槽深)。
    • photoSizeTolerance : 相片大小容許誤差值。
  • 邊框大小:
    • borderSize : 邊框多寬。
    • borderThickness : 邊框厚度。
    • borderRoundRadius : 圓角的半徑。
  • 卡榫大小:
    • jointWidth : 寬度及高度。
    • jointLength : 長度。
    • jointHoleTopThickness : 相框下半部卡槽頂部要填實的厚度。
  • 其它:
    • 防翹起(在邊框上加薄薄的圓)
      • antiWarpingSize : 圓的直徑大小。
      • antiWarpingThickness : 圓的厚度。
      • antiWarpingTotalNumber : 圓的數量。
      • enableTopMatAntiWarping : 相框上半部啟用防趐起。
      • enableBottomMatAntiWarping : 相框下半部啟用防趐起。
    • TopMatRabbetDepth : 相框上半部槽口的深度
    • shoulderSizeOfBottomMatRabbet : 相框下半部槽口的寬度(用來放相片)。

相框組合的影片:






相關文章


2021年2月21日 星期日

PrusaSlicer : 接縫位置與流量大小

2021年2月21日 星期日

前幾天在印 Benny Bear Remix 時,印出的結果在靠肚子及肩膀附近老是出現坑洞,剛開始以為是模型的設定有問題,或是切片軟體的問題。切片的結果一層層檢查,發現有破洞的地方都在該層起點跟結束的地方。研究了好一會兒,推斷原因可能在接縫位置(seam position),跟擠出的流量大小(Flow Rate, Extrusion Multiplier)。


照片中的 Benny Bear 由左而右的流量大小(PrusaSlicer : Extrusion Multiplier)分別為:0.9、0.9、0.85、0.8。紅色箭頭處都是因為連續兩、三層的接縫位置剛好差不多,加上擠的料稍少,最右邊的就出現了很明顯的坑洞;左二因料擠得足夠一點了,要很仔細看,才看得出少一眯眯;左一則完全沒有痕跡,因為它除了 Extrusion Multiplier 設為 0.9,切片時還多改了 Seam position 的設定為「Rear」,也就是將接縫處全部都換到背後去:


PrusaSlicer 的 Seam position 預設值是「Aligned」,基本上它的接縫大多會分散,但是改為 Rear 則會集中到 Y 座標最遠處,也就是背後。


照片Seam position 的設定由左而右分別為:Rear、Aligned、Aligned、Aligned。最左邊的中央那接縫線也太明顯了!

這樣子看起來,接縫位置還是保持用「Aligned」,改流量是比較好的方案。

另外,切片完,可以先觀察一下接縫處在哪裡,如果出現在顯眼處,可以先旋轉物,再重新切片。像照片中的 Benny Bear Remix,只要先旋轉 135 度,接縫處就會換到雙手旁的凹處,這樣子,缺點就不那麼明顯了。




2021年2月20日 星期六

3DP : 溫度太高出料不順

2021年2月20日 星期六

為了讓 3D printer 做的彩色的 Lithophane 相片混色能更好一點,二月初終於下決定買了彩家科技的三捲 PET 線材,主要是找了半天,只有他家的 PET 有 CMYK 四原色;猶豫那麼久,主要是因為 3D printer 只用過 PLA 和 ABS,PET 的料性不確定,又怕像 ABS 一樣,因為毒性,不能在室內印東西......,一次至少要下訂 CMY 三原色,真不知道能不能用完呢!

彩家的 PET 照說明,適用的溫度是攝氏 210~230 度,不過,如果以用他家 PLA 的經驗,溫度應該比建議值加個五度即可順利的印。剛拿到 PET 線材,以 210~215 度印相片,第一層很不穩定,後來提高至 220 度就順利多了。這兩天再用相同的溫度在印高度約兩公分的模型,一個物件大約花 30分鐘左右,如果連續印,似乎只有第一個出料比較順,後面接著的,常有出料不順的情形發生。本來以為是擠出機或是速度太快的原因,今天換一台機器印,溫度用 220 度,連第一個都印不好:


照片右邊那一個的溫度是用 220 度,表面有很多顏色偏白的地方及明顯出料不順的空洞;左邊則是調為 115 度印的。之後再調降為 210 也能順利的印。

年前在印小牛吊飾時,一支舊的 PLA 線是用比彩家的料低五度的,也曾經出現類似料的情形,那時還卡很久,試了大半天。記錄一下,讓自己記得這種外觀,可能是溫度過高造成的。


3DP : 可轉頭的 Benny Bear Remix

為了放3D printer 做的彩色的 Lithophane 相片,設計了一個兩件式的簡易相框。本來的構想是前後兩片輕壓就能扣在一起,不過,哈哈哈!理想跟實際還是有落差的,因為底層沒黏緊列印平台,印出來的相框稍變形,無法緊緊相扣(哈!設計不良,推給印不好的概念)。其實用個小長尾夾夾一下,不但能扣緊相框,還能當支架,不是一舉兩得嗎!

後來覺得黑黑的長尾夾不夠美觀,於是開始在 Thingiverse ( https://www.thingiverse.com/ )中找看看有沒有適合的夾子,看看這兩個是不是很可愛:

可惜夾在相框上看不到它們可愛的正面。總之,最後我決定找個模型來改成有造形的「夾子」。最後選定了這個 Benny Bear 的 Remix,Benny Bear Woggle :

主要是因為它是熊的造型,加上作者有提供原圖 TinkerCAD 的網址,而且是用創用 CC 的授權方式分享的,這樣要改造就比較容易一點。

上面是改過的版本,剛開始的重點放在兩隻腳的角度跟距離,讓它能有彈性,並能夾住相框。所以調整完腳的距離以後,複製腳,並稍放大,跟原來的腳置中對齊以後,移開原來的腳,並讓身體其它部位和放大的腳結合鏤空,最後再把腳放回原來的位置,這樣就可以將原本腳跟身體分離。為了增加這雙當夾子的腳能更有彈性,再靠身體內部的尾端加上了半個圓環。測試的效果還算不錯。

改完一隻以後,又再改了一隻頭轉六十度的版本。接下來愈想愈多,乾脆將頭改為可以轉動的,就這麼改了兩天。


兩天的研究沒白花,現在對如何分件改為可轉動的機置比較有概念了。

因為這隻 Benny Bear Remix 是源自於 Thomas Paulet 所做 Benny Bear Woggle 的 Remix,而它旳授權方式是:


Creative Commons - Attribution - Share Alike


所以我改好的最終版本也使用相同的授權,並設定為公開的分享方式,網址如下:


這也是我在 TinkerCAD 設計的 3D 圖稿中,第一個設為公開分享的。


相關文章



2021年2月17日 星期三

PrusaSlicer : XY Size Compensation

2021年2月17日 星期三

在 Cura 中有一個「Horizontal Expansion」可以讓我們在切片時微調一下大小,如果設定值是正數,因為邊緣會往外長,孔洞的地方就會變成縮小;反之,如果設定值是負數,因為其它地方緊縮了,孔洞就變成是擴大。


這麼好用的功能,PrusaSlicer 當然也有,只不過它的選項名稱是「XY Size Compensation」


它在 Print Settings -> Advanced -> Slicing -> XY Size Compensation。

下圖是 XY Size Compensation 設為 0 ,也就是不使用的切片結果:


再來是 XY Size Compensation 設為 -0.1 ,也就是內縮 0.1 mm 切片的結果:


比較兩張截圖箭頭處,XY Size Compensation 設為 -0.1 後,因為內縮了,細線不見了。這樣的設定,讓後續想在中央的空隙填入黃色的邊框花紋及文字變得更方便好看。




2021年2月16日 星期二

OpenSCAD : 介面語系的設定

2021年2月16日 星期二

 前幾天在筆電中下載並安裝 OpenSCAD 才發現它終於有新版本了,有哪些新功能就到官網中看吧:

操作界面的改變倒是能立即感受到不一樣!依預設值,OpenSCAD 會依系統所使用的語言,自動切換言系,不過,用了那麼久,還沒看過中文,這一次安裝的 OpenSCAD 2021.01 版,一啟動就是中文界面。哈!可是這樣一來,反而很不習慣。只好找找在哪裡可以讓它變成英文的界面。

在上方主選單的 [編輯] → [偏好] 的設定視窗中可以找到 [進階] 中有個「啟用本地化使用介面...」的選項:


把預設勾選的勾勾按一下,取消後,並重新啟動 OpenSCAD,就可以不使用中文介面,換成預設的英文介面了。

舊版的畫面也是差不多:


有空再來試試新版有哪些新功能。

2021年2月10日 星期三

Cura : 跟隨滑鼠方向縮放的設定

2021年2月10日 星期三

 使用舊版的 Cura 在瀏覽模型時滿順手的,但是自從換了新的版本以後,一直覺得滑鼠好像很不聽話,無法轉到我想看的角度,這個經驗也成了我一直不是很想深入使用它的原因。原來~原來只是我不會設定而已!


在 [Preferences] → [Configure Cura ..] 的 [General] 的設定畫面中找找,有個 「Zoom toward mouse direction」,中文翻譯是「跟隨滑鼠方向縮放」。這個選項勾選以後,跟其它操作 3D 的工具,使用滑鼠操作縮放的方式就差不多了。不是很清楚為什麼這個選項預設是不勾選的,總之,以後如果設定又跑掉,找這個就對了!



3DP : Cura : 將物件分離為多件

自從開始用 Repetier-Host 以後,喜歡他的簡潔,已經很久沒好好用 Cura 了,大多拿 Cura 來把相片轉為模型,或是有時模型檔案太大,用它來重新匯出,以便減小檔案。最近為了玩一些切片的參數,又開始玩 Cura,不過發現它以前可以把未結合的模型各部份分離,這個功能在新的 4.x  版中居然沒了。少了這項功能,在分件列印時,定位會比較麻煩。幸好用以下的關鍵字:


cura split object into parts


找到有人介紹「Mesh Tools」的外掛,來增強缺少的功能。

看一下,原來在 Cura 中,對物件按右鍵的選單長這樣:


找不到可以分離物件的功能,就先按一下 Cura 右上角的「Marketplace」來新增外掛


等一會,看到「Plugins」中是不是有「Mesh Tools」的圖示,按一下即可準備安裝


按 Intall 鈕來安裝


接著會出現版權說明的頁面,當然要按同意。安裝完會出現下面的畫面:


它提醒我們要重新啟動,Plugins 才能使用,所以就按右下角的按鈕,先結束 Cura。

安裝完 Mesh Tools 的 Plugin 以後,重新開啟 Cura ,並載入模型,對準物件按滑鼠的右鍵,應該會多出「Mesh Tools」的選單:


Mesh Tools 的選單中有個「Split model into parts」,點選它,如果模型是未完全合體的,就可以一一分離成獨立的物件了。











OpenSCAD : 以 ceil 微調尺寸上的誤差

為能自由的調整邊框圖案的尺寸,利用 OpenSCAD 的 script 來產生環形的圖案邊框模型。大概是計算完小數點精準度的問題,明明是重覆的圖案,把模型檔匯入 TinkerCAD 以後,居然有一個是破損的。


上圖箭頭處是 24 個重複圖案中,唯一有破損的,幸好有發現,不然等用 3D printer 印好才看到,包準吐血。

在猜想,兩個圖案連結處的長度是利用圓周的公式推算出來的,可能剛剛好差一咪咪,導致製作出的模型檔是有破損的。

既然可能是因為長度不夠造成的,那就用 OpenSCAD 中的「ceil」函數來將小數點以下的數字「無條件進入」吧!


原來的寫法是這樣:


outterSpacing = (outterWidth-width)/2; 


如果想取到小數點以下第一位,那就先將結果乘以 10 ,使用完 ceil() ,無條件進位以後,再除以 10。


outterSpacing = ceil((outterWidth-width)/2*10)/10; 


不過,如果取的位置太大,大太多了,也是會影響到模型的外觀的。像第一張截圖中,綠色的模型是取到小數點以下第二位(先乘以100,無條件進位以後,再除以100),連接處可以看到微微的突出;黃色的模型則是取更小一些,先乘以 500 ,無條件進位以後,再除以 500。


outterSpacing = ceil((outterWidth-width)/2*500)/500;


經過這樣的調整,連接處看起來不但和原來差不多,匯入 TinkerCAD 中,也不會有破損的情形了。




2021年2月4日 星期四

DIY : 玩具車齒輪與車輪微調

2021年2月4日 星期四

 前幾天看到街上有人在賣軌道車,又把家中的一箱軌道積木挖出來組裝。軌道比較沒用問題,三部小車子在最後一次玩就有一點跑不動了,這一回好好的拆開檢視動力不足的原因在哪裡。


兩部小車子用一顆三號電池,另一部則是用兩顆並聯。裡面的結構則是一個開關、一顆馬達及三個減速齒輪。


上了電以後,可以發現問題最大的地方是齒輪。我鑽了兩個小孔,然後加上一小段漆包線,並且調整漆包線,讓它很靠近最大的這個齒輪。這個齒輪在車輪吃力比較重時,會因為和馬達上的小齒輪間隙變大,而帶不到車輪軸心的齒輪。那段加上的漆包線可以讓大齒輪往車身外側滑動時,反彈歸位。這樣子,遇到需要比較大扭力時,可以持續的帶動車輪。

齒輪的問題解決了,另一個問題是車輪上提升抓地力的膠條斷裂或會滑動。這部份是拿橡皮筋替代,缺點大概就是橡皮筋久了會變質。


把外殼鎖好,準備測試


開關打開,一上電就覺得氣勢不同了!

看一下它跑環形軌道的樣子,原來是完全動不了的。









2021年1月27日 星期三

3DP : 彩色的 Lithophane 相片之二

2021年1月27日 星期三

去年用 3D printer 玩彩色的 Lithophane 相片,用的方法是以 GIMP 將相片進行 CMYK 四色分離,將 CMY 三色分別和黑色結合,三色單獨匯出圖檔,並以 Cura 把圖檔轉為 3D 模型,最後用對應的色料以 3D printer 印出來。藍、紅、黃分色印出的相片疊在一起以後,打光就能重新混出相片的顏色。這幾天換個方式玩,換色時,不將印好的物件取下,將列印平臺的起始高度抬高,換完塑料後,繼續印下一個顏色,直到三個顏色都印完,才將物件取下。這樣的方式印,結果除了會因為藍、紅、黃三色的順序而略有不同外,還會因為平臺起始高度的不同,而產生出差異很大的結果。



上圖左側的列印件,換色時,起始高度設得較低:
  • 以每一層 0.1mm 的解析度3D列印。
  • 每一個顏色相片轉模型時總高度是 0.5mm  (Height 0.4mm + Base 0.05mm,Cura 會把 Base 乘以兩倍)。
  • 印完第一個顏色後起始高度抬高 0.25mm 
  • 印完第二個顏色後,起始高度再抬高 0.25mm
由於印新的顏色時,起始高度沒有抬足所需要的 0.5mm,只有一半,從照片可以看得出來,色料被高溫的噴嘴像電熨斗燙過一般,還刮出深深的溝槽,這種方式,前一個顏色的頂部和新的顏色交融在一起,可以產生特殊的效果:


如果起始高度設得較高一點點,讓交界處較不緊實,會像下面這樣:

正面
背面
上面四個列印件打光後的效果:

正面
背面
第二種方式在印完一個顏色以後,下一個顏色的起始高度有再多抬高一些,可以看到白色背景的區域,因為較薄,塑料是「條條分明」的,表示噴嘴過高,但卻營造出多彩的效果。

在使用上面的方法時,因為噴嘴是在「過低」的狀態,所以切片時,記得設定「Z hop」,讓噴頭在換位時,Z 軸會先抬高,以免撞上已印好的前一個顏色。在 Repetier-Host 的截圖如下:


另外,切片參數中,如果原本有加 Skir 或 Brim 的,印完第一個顏色以後,也要記得取消,不然隔空印 Skir 或 Brim 就好笑了。

利用這種方式把三種顏色結合在一起滿有趣的,可能因為一個地方的差異而產生結果的變異,就像上鈾燒陶一樣,要等到開窯了,才能知道結果。

不過,經過幾張照片的試驗,並不是每一張照片都適合拿來玩,最好先觀察一下 3D 模型切片的結果。以人像來說,有的圖檔切片完,眼睛只有小小一點,又只有一層,這絕對會影響呈現的效果。

如何調整起始高度

印好一個顏色後,如何換料後調整起始高度,繼續接著印?

這一次我用的 3D printer 是 Delta 型的,所以是使用 M665 的 G-code 來調整,這個在底下這一篇記錄中有提到:

另外,也可以利用 G92 來調整目前的高度是多少的方式達到:

不過,如果是使用 G92 ,記得切片完,把 G-code 中的 G28 刪除,不然,執行完 G28,它會回到 Home,前面的 G92 就白設定了。


相關文章


2021年1月23日 星期六

3DP : 萬向蛇管夾修補零件

2021年1月23日 星期六
拿出多年前買來為 Wimmote 電子白皮夾 Wiimote 的萬向蛇管夾,準備用來夾手機拍影片,不知怎麼地,萬向球頭和夾子之間的卡座居然斷裂噴飛了,放了好久,前幾天決定畫模型來修補。


上面這模型可是印了四個失敗的,才弄出穩定的版本,可見原來的想法多簡單。


原本以為球頭座鑽個孔,鎖上螺絲就可以了。一來沒考慮到球頭座的塑膠並不夠硬,拆裝個兩三次,鑽孔就幾乎快崩掉了;再來沒想到光鎖一顆螺絲,夾子無法牢牢的固定住,還是會旋轉。

最後決定在底盤邊緣加上邊及可以鎖螺絲的兩個耳朵。


原來的球頭座是分成兩件,然後用一顆螺絲鎖住來固定的,牽就這顆螺絲並不長,修補模型的耳朵不敢設計得太厚,缺點就是日後有可能由這裡斷裂。因為不想再重印,只好先用打火機烤過,看看會不會因為退火,讓它稍耐用一點。

夾子的固定是利用帶有斜面的突邊卡住的,這一部份可以學起來,應用在分件的重組上。有空的話,應該乾脆整個球頭座都重畫,一體成形或許可以更堅固。




3DP : 彩色的 Lithophane 相片

每次跟別人介紹 3D printer 時,總會被問到一個問題:「那可以印彩色(多色)的嗎?」。之前玩過兩個擠出機加上一個 Y 字接頭,兩種不同的料共用一個噴頭的方式來列出雙色混合的物件,不過這種「二進一出」的方式並不好控制,雖然可以自動換料,但是列的時間就更久了。玩了幾次,最後還是放棄了。

前幾天看到有人做了彩色的 Lithophane 相片,不過作者都沒有分享詳細的做法,網路上也找不到相關的資料,不過這可又把我的好奇心給燃燒了。混出各種顏色的方法,不外乎就是 RGB 或是 CMYK 分多色,然後加在一起。初步的想法就是將原始相片分色列印成薄片,然後套疊在一起,以光學的方式混色。既然是光學的方式混色,直覺就認為該採用 RGB 來分色列印,也就是將相片分別提取出紅色(R)、綠色(G)、藍色(B)的部份,分開存成三個不同的檔案。把三個圖檔轉成 3D 模型,最後用對應顏色的料印出來。

花了不少時間的等待,RGB三色的照片印好了,的確能呈現出多種顏色,但卻有嚴重的色差。本來以為只是厚薄影響顏色的表現,不過試了幾組不同厚薄,顏色還是差太多。

之後和朋友討論了一下,決定來試一下 CMYK 混色的方式,不過我沒有青色(Cyan)、洋紅色(Mageta)的料,只好先以紅色、藍色和黃色的料來實驗,雖不準,應該也不會差太多吧!

底下是同事家小狗的照片和以 CMYK 原理分色 3D 列印的結果:

CMY三色列印LED燈泡打光混色結果

原始照片長這樣 :

原始相片

將相片依 CMYK 四色分解

用 GIMP 2.10.18 上方主選單 [顏色] 的 [構成要素] 中的 [提取成分],將 CMYK 的 C, M , Y 單獨分解後存檔


記得在「提取成分」的對話框中要勾選「Invert component」:


將 CMY 三色都單獨存檔



補充說明:

上述的CMYK 分解的方法在 GIMP 2.10.20 以後就不適用,詳見:

以 Cura 製作相片模型

在 Cura 中,如果開啟的檔案是圖片檔,可以將圖片轉為 3D 模型,模型的高度就是各點的明暗度,所以可以用來將前面 CMY 三色的圖檔轉為 3D 模型,然後用 3D printer 來輸出。



轉換相片為模型時,可以設定模型的大小跟高度,上面的設定圖的部份會有 0.5mm,另外底部有 0.2mm, 所以模型的總高應該是 0.5 + 0.2 = 0.7 mm。(可能還要再觀察一下總高度的算法,後來發現有的是 0.5 + 0.2 * 2 = 0.9,不知道是不是新版 Cura 的問題)

3D printer 輸出的相片如果太厚,光源如果又夠亮,勢必會影響到混色的效果;但是如果太薄,顏色的層次又有可能打折扣,所以厚、薄的拿捏,可能還是要自己去試。

3D printer 輸出結果

每一個相片模型以 0.1mm 層高來進行切片,底下是 CMY 三色製作完模型,以 3D printer 輸出後,並在後面打燈的結果,注意兩兩交疊的部份,顏色有變化:


三色前後順序不同,也會製造出不同的效果:



前述 CMY 三色的相片模型放到 Thingiverse 網站中:

ps. 這篇從 2020.02.11 放到現在,總算把它整理了。

相關文章

 
© 2009. Design by Pocket