3D 列印:不規則形狀修補零件復刻技巧
2 |
陸續用 OpenSCAD 建模土砲過手機散熱座、雨傘磁扣、隨手關門立體標語、磁力壁鉤、撈魚杓、柔光罩,但都是用方塊圓柱等幾何物件拼湊成形,頂多加上文字轉 Path 立體化。最近挑戰了一次自己都覺得神奇的不規則形狀零件復刻,特 PO 文紀念兼備忘。
買 3D 印表機後我最愛的用途是印零件修東西,名聲遠播到有天同事拿了壞掉的汽車抽屜問診 XD 損壞處為左側轉軸固定環(照片斷裂處已預做處理,移除殘根及磨平):
對照右側完好的樣子,可知原本應為「Ω」形狀的環,估計是用來扣住轉軸,左側左半邊環已斷裂。
考量若單印半邊弧形垂直黏上去,很難找到夠強大的膠靠這麼小的底面積對抗力距,不如印個平面配 L 型立牆可行性較高。延伸平面擴大黏著面積,才能產生足夠支撐力。只是,這個構想最大挑戰在於該環形並非標準圓而是「Ω」形狀,如何復刻到尺寸形狀相同對我來說是個難題。
總之,一時手癢接受委託,花了幾小時用做假牙的概念做出修補片,我還真讓殘缺的半環破鏡重圓。(如下圖)
同樣的零件全世界應找不到第二件同款車型連斷裂處都相同的案例,模型、程式分享無用,聊聊製作經驗就好。
修補片的 OpenSCAD 模型長這樣:
較麻煩部分要做尺寸相同的擬真「Ω」弧形,最直覺的做法是取得該形狀的 Path 路徑,用 linear_extrude() 2D 轉 3D 變成立體物件。Path 座標點要怎麼來呢?沒有人工智慧 3D 掃瞄設備,就用工人智慧手工描圖搞定吧!
拍下完好轉軸環的照片,匯入向量圖編輯軟體,InkScape,套上圖層,手工定位點出路徑。
我總共做出兩個圖,一個是「Ω」弧形用來產生立牆,另一個是有「Ω」弧形缺口的三角形,用來打造與立牆無縫嵌合的底板。
有個小問題,SVG Path XML 格式如下:
<path d="m 1.0026271,296.84892 -0.96271,-1.12076 0.58913,-0.51728 0.25863,...略"></path>
而在 OpenSCAD 裡需要的 Polygon 格式長這樣:
polygon(points=[[27.36,279.27],[0.66,279.27],[7.60,296.60],...略
我找到線上版 Path to Polygon Converter 可以將 SVG 轉成 Polygon,不過它轉出的格式與 OpenSCAD 需要的仍有段差距。
放心這種格式小問題哪可能難倒前端攻城獅?打開 Chrome F12 開發者工具,輸入以下 JavaScript 程式碼,可直接貼入 OpenSCAD 的程式碼 GET!
console.log("polygon(points=[" +
document.getElementById("svg-result").querySelector("polygon").getAttribute("points").split(' ')
.filter((s)=>!!s).map(
(s)=>{
var p=s.split(',');
return "["+parseFloat(p[0]).toFixed(2)+","+parseFloat(p[1]).toFixed(2)+"]";
}).join(",") +
"]);");
就醬,我的 3D 列印修補技能,又再推進一小步。(灑花)
3D 列印之不規則零件復刻
Comments
# by M T
如果可以加點導角跟肋片來做補強, 應該會更好.. 不然照這個列印方向, 很快就會再斷一次..
# by Jeffrey
to MT,感謝建議。有評估過,環形會順著轉軸旋轉並無承重需求,先賭力量不致於太到PLA撐不住,另一方面不知車子設計擔心卡到其他機構,先求體積愈小愈好。如果失敗且空間允許,下個版本我想將平面厚度拉到跟立牆一樣高。